Reactjs代码/命名约定

时间:2018-03-14 11:03:59

标签: reactjs react-native

有没有人知道在构建应用程序时是否存在任何官方或最常被接受的React命名约定参考?

React有很多不同类型的组件,例如React.Component,指令,服务等。你不同意我们在我们的应用程序中实现它们时有参考命名约定会有意义吗?

例如:

如果我们需要创建新组件,我们应该如何将它们命名为[Something] Component或component [Something]或其他东西?同样适用于其他类。

我想知道的其他事情是属于范围的变量/函数是否应该具有特殊的前缀或后缀。在某些情况下,有一种方法可以将它们与函数和其他函数区分开来(无反应代码)。

2 个答案:

答案 0 :(得分:2)

我是airbnb React风格指南的忠实粉丝。 https://github.com/airbnb/javascript/tree/master/react 他们还有一个整体的JS风格指南。 https://github.com/airbnb/javascript

答案 1 :(得分:1)

我的理解是,在命名约定方面,React团队不受质疑。

话虽如此,但我的理解是,返回对象或类的组件通常以大写字母开头,以及如何与非类的组件或其他文件区分开。

因此,如果看到src/components/Header.js,您会立即知道它是基于类的组件,如果看到src/utils/validateEmails.js,则知道它将是一个函数而不是其中的类。

我也会警告airbnb样式指南,因为我只是看了一下,他们鼓励使用.jsx扩展名,但是如果您查看Reactjs文档:https://reactjs.org/docs/react-without-jsx.html他们会说使用React进行构建时,不需要jsx,您可以整日使用javascript,因此可以推断出仅创建扩展名为.js的组件就可以了。同样支持这一推论的是,React的创建者Facebook的工程师们不建议使用.jsx,而Dan Abramov说,使用.jsx在巴别特时代之前就有所不同,但现在没有必要了,我们可以坚持使用.js扩展名。 来源:https://github.com/facebook/create-react-app/issues/87

相关问题