Reactjs 代码/命名约定

IT技术 reactjs react-native
2021-04-30 23:54:01

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

React 有很多不同类型的组件,例如 React.Component、指令、服务等。您是否同意在我们的应用程序中实现引用命名约定是有意义的?

例如:

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

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

2个回答

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

我的理解是 React 团队在命名约定方面没有意见。

话虽如此,我的理解是,返回对象或类的组件传统上以大写字母开头,以及我们如何区分不是类的组件或其他文件。

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

我也会警告 airbnb 风格指南,因为我只是看了一下,他们鼓励使用.jsx扩展,但是如果你查看 Reactjs 文档:https ://reactjs.org/docs/react-without-jsx 。 html他们说用 React 构建时 jsx 不是必需的,你可以整天使用 javascript,所以真的可以推断,创建一个.js扩展的组件是令人满意的。同样支持这一推论的是,Facebook 的工程师,React 的创建者,不推荐使用.jsx并且 Dan Abramov 说使用.jsx在 Babel 之前的时代有所不同,但现在没有必要,我们可以坚持.js扩展名。来源:https : //github.com/facebook/create-react-app/issues/87