React 前端导航

React 前端代码规范,前端规约指引,分为【强制】、【推荐】、【参考】三个等级

React 前端代码规范,前端规约指引,分为【强制】、【推荐】、【参考】三个等级

【强制】:必须遵守。项目开发中必须遵守的代码规范。
【推荐】:尽量遵守。推荐的代码规范,用则有助于系统稳定性和团队开发效率的提升。
【参考】:充分理解。根据团队需要可选的前端代码规范

编码风格

1.缩进

1.1【强制】JSX 语法使用 2 个空格缩进,不要使用 4 空格或者 tab 缩进。

2.空格

2.1【强制】自闭合标签的斜线前面保留一个空格

2.2【强制】JSX 标签与属性,属性与属性之间仅保留一个空格

2.3【强制】JSX 属性的花括号内部两侧无空格

//bad
<Demo name={ name }>

//good
<Demo name={name}>

2.4【强制】不要在 JSX 属性的等号两边加空格

3.引号

3.1【强制】JSX 属性使用双引号,不要使用单引号

为什么?HTML 属性通常使用的是双引号而不是单引号,因此 JSX 属性沿用了这种约定,其他 JS 使用单引号。

4.小括号

4.1【强制】多行的 JSX 标签必须用小括号包裹

//bad
const Demo = ()=>{
    return <div>
        <p>11111</p>
        <p>22222</p>
    </div>
}

// good
const Demo = ()=>{
    return (
        <div>
            <p>11111</p>
            <p>22222</p>
        </div>
    );
}

5.标签

5.1【强制】无子元素的标签写成自闭合的标签

5.2【强制】标签属性的换行遵循以下规则:

(1)标签名和他的属性可以写在一行,前提是不超过单行最大 100 字符的限制。

(2)如果标签有多个属性,且存在换行,那么每个属性都应该单占一行,且开始标签和结束标签也单占一行。

5.3【强制】禁止在有子节点的组件或者 DOM 元素中使用 dangerouslySetInnerHTML 属性。

5.4【推荐】不要使用危险属性,React 中的危险属性是指那些已知会引起应用程序漏洞的属性。这些属性命名为 dangerouslyName 已经清楚的表明他们是危险的,应该尽量避免使用,例如:dangerouslySetInnerHTML。

5.5【强制】JSX 语句的文本节点中不要使用注释字符串,例如:以 // 或 /* 开头。

5.6【强制】标签中禁止出现无意义字符,比如 > : } ' 等。

可用 > 代替。

" 可用 " 或者 “ 或者 " 或者 ” 代替。

' 可用 ' 或者 ‘ 或者 ' 或者 ’ 代替。

} 可用 } 代替。

或者写在表达式中,例如:

<div>{">"}</div>

语言特性

1.类组件

1.1【推荐】不要在JSX小户型中使用.bind()。eslint: react/jsx-no-bind

这不利于组件性能,每次render都会创建一个新的函数。有两种替代方案:

① 在 constructor 中绑定时间处理函数

② 使用 react 的 property initializers 特性或 ES7 autobind decorator

1.2【强制】render方法必须要有返回值。eslint: react/require-render-return

1.3【强制】在扩展 React.PureComponent 时禁止使用 shouldComponentUpdate。eslint: react/no-redundant-should-component-update

定义 React.PureComponent 扩展组件时使用 shouldComponentUpdate 虽然有效,但是扩展 React.PureComponent 就变得没有意义了。

1.4【强制】禁止使用已经废弃的方法。eslint: react/no-deprecated

1.5【强制】不要使用findDomNode,严格模式下已经弃用。eslint: react/no-find-dom-node

2.函数组件

2.1【强制】 只在最顶层调用 hooks,不要在循环、条件和嵌套函数中调用 Hooks。

3.Props

3.1【强制】采用小驼峰命名 prop 。eslint: react/node-unknown-property

3.4【强制】声明的 prop 必须被使用,未使用的 prop 应该删除。eslint: react/no-unused-prop-types

配套工具

eslint-config-ali 是《阿里巴巴前端规约》配套的 ESLint 可共享配置,提供了多套配置文件以支持 JavaScript、TypeScript、React、Vue、Node.js 等多种项目类型。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/53

#react#代码规范

相关推荐

react中实现markdown文件读取展示

react中实现markdown文件读取展示

umi实践问题汇总--持续更新

在使用umi的过程中所遇到问题的记录汇总