最近,我开始学习ReactJS。唯一让我困惑的是在React应用程序目录中命名文件夹和文件。
对于组件文件的命名,有些人使用
TitleCase.js
,而有些人使用camelCase.js
。对于应用程序目录的命名,一些人使用
camelCase
,而一些人使用smallcase
或small-case
。
我尝试查找官方文档以获取命名约定,但未能找到。请问有人能帮我找到在ReactJS中命名文件的正确方法吗?
最近,我开始学习ReactJS。唯一让我困惑的是在React应用程序目录中命名文件夹和文件。
对于组件文件的命名,有些人使用TitleCase.js
,而有些人使用camelCase.js
。
对于应用程序目录的命名,一些人使用camelCase
,而一些人使用smallcase
或small-case
。
我尝试查找官方文档以获取命名约定,但未能找到。请问有人能帮我找到在ReactJS中命名文件的正确方法吗?
关于命名规范,ReactJS 是没有固定意见的。
官方没有针对你提出的问题发布过指南或声明,文档中也没有相关内容。
这是个人(团队)喜好。如果你很难强制执行一种规则,可以采用类似于Airbnb 的 React 和 JSX 大多数合理方法。
附注:只要保持一致,我认为就没问题了。
基于'Google JavaScript Style Guide'
文件名必须全部小写,可以包括下划线(_)或破折号(-),但不得使用其他标点符号。遵循项目使用的约定。文件扩展名必须为.js。
我建议使用连字符命名法hyphens-case
来命名文件,因为所有的npm模块都是使用hyphens-case
,这样导入自定义文件时就与npm模块相同了。
就像其他人提到的一样,我们采用了Airbnb的代码风格指南。以下是他们文档中有关命名约定的具体部分:
https://github.com/airbnb/javascript/tree/master/react#naming
简而言之,使用PascalCase进行命名。
UpperCamelCase
和lowerCamelCase
。 - undefined根据他们关于文件结构的文档,我会选择PascalCase,只要不是index.css
、index.html
或index.js
。此外,create-react-app有这种结构,你可以在这里看到。
我使用PascalCase来命名组件和类,即使您使用函数创建组件,仍然要使用PascalCase。
绝不要使用snake_case.js。
对于文件夹,我只使用小写字母,从未使用过:camelCase、snake_case或hyphen-case。
React 是很多东西,但“直截了当”不是其中之一。
但如果要说什么,我发现这篇文章 React 开发者的 5 个最佳实践 在我看来非常有帮助。
关于命名规范,其中提到了两点:
除此之外,一切都取决于你或团队在项目上的工作,因为在最后的时刻,当需要进行更改或添加更新时,你们将不得不记住所有内容。
src
components
addTodo
addTodoForm.component.jsx
addTodoFormSubmited.component.jsx
index.js
navbar
todolist
index.js
pages
addTodo.jsx
index.js
todo.jsx
updateTodo.jsx
根据我的理解,我很容易知道哪个文件用于组件,哪个文件是页面。
TitleCase
形式编写的,我认为文件名也可以这样写。因为这样你可以像这样导入:import Component from './Component'
。至于文件夹,我认为惯例是使用小写字母。 - Chris