You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native项目文件夹与文件命名规范及特殊命名缘由咨询

React Native 项目文件夹与文件命名惯例及最佳实践

一、带括号的文件夹(如(auth)、(tabs))

这类命名并非React Native本身的官方规则,而是Expo Router、Next.js App Router这类路由框架的专属约定:

  • 核心作用是逻辑分组路由,不生成实际URL路径:比如(auth)文件夹下的login.jsx、register.jsx,最终路由路径是/login、/register,而非/auth/login,既实现了认证相关页面的聚合管理,又不会额外增加路由层级。
  • 场景适配:像(tabs)这类分组,通常用来包裹底部标签页对应的页面,把标签页相关路由集中在一起,和其他业务路由(比如详情页、设置页)做隔离,让项目结构更清晰。

如果没有使用这类路由框架,开发者也可能用带括号的文件夹做纯逻辑分组,用来标记某一类功能的集合,和普通业务文件夹做视觉区分,本质是团队内部的约定。

二、下划线开头的文件(如_layout.jsx)

同样是路由框架的特殊约定,常见于Expo Router、Next.js:

  • _layout.jsx是布局文件:会自动作为当前目录下所有页面的父组件,用来定义共享导航(比如底部TabBar、顶部导航栏)、全局样式、权限校验逻辑等。比如(tabs)/_layout.jsx可以配置底部标签栏的样式和跳转规则,该文件夹下的home.jsx、profile.jsx都会自动套用这个布局。
  • 下划线的通用意义:如果脱离路由框架,下划线开头的文件通常用来标记私有/工具类文件,比如_utils.js、_constants.js,表示这些文件是内部使用的模块,不对外暴露给其他业务模块,或者是全局共享的配置/工具,和普通业务页面、组件做区分。

三、通用命名最佳实践

除了框架专属约定,React Native项目还有一些通用的命名规则:

  • 文件夹命名:优先用kebab-case(短横线分隔),比如user-profile、product-list,清晰直观;按功能划分核心目录,比如screens(页面)、components(组件)、utils(工具)、hooks(自定义Hook)、assets(静态资源)。
  • 文件命名:
    • React组件用PascalCase(大驼峰),比如UserProfile.jsx,符合React组件的命名规范;
    • 工具函数、配置文件用camelCase(小驼峰)或kebab-case,比如formatDate.js、api-client.js;
    • 全局样式、私有模块可以用下划线开头,比如_global-styles.js,明确其特殊用途。
  • 兼容性:尽量避免使用空格、特殊符号(除框架约定的括号、下划线),保证在Windows、Mac等不同系统下都能正常识别。

内容的提问来源于stack exchange,提问作者Salty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 19:27:18