@Secretmm
2021-01-20T07:22:25.000000Z
字数 1161
阅读 380
梳理
React
类组件 JSX/TSX
语法JSX
文件中初始化应用,否则不要使用React.createElement
PascalCase
大驼峰式命名,如MyComponent.jsx
PascalCase
大驼峰式命名,而主入口命名为 index
,如index.jsx
,引用时可如下:
import MyComponent from './MyComponent'
React
组件使用PascalCase
React DOM
使用小驼峰式命名法来定义属性的名称,例如
<div onClick={this.handler} />
只允许使用Class Component
和Functional Component
两种形态来书写组件,建议尽量使用函数式组件配合Hooks
来进行开发
遵循以下JSX
语法的对齐风格
// 不推荐
<Foo superLongParam='bar'
anotherSuperLongParam='baz' />
// 推荐
<Foo
superLongParam='bar'
anotherSuperLongParam='baz'
/>
// 参数较少可保持一行
<Foo bar='bar' />
<Foo
superLongParam='bar'
anotherSuperLongParam='baz'
>
<Quux />
</Foo>
// 不推荐
{
showButton &&
<Button />
}
// 推荐
{showButton && (
<Button />
)}
{showButton && <Button />}
<Foo />
<Foo bar={baz} />
defaultProps
明确的默认值当 JSX
标签超过一行时使用圆括号包裹
render () {
return (
<MyComponent className='long body' foo='bar'>
<MyChild />
</MyComponent>
)
}
<Foo className='stuff' />
<Foo
bar='bar'
baz='baz'
/>
Class
组件内的属性方法应声明为箭头函数以固定上下文render
方法中存在返回值Hooks
规范Hooks
只能应用于函数式组件中React
函数最顶层使用 Hooks
,不要在循环,条件或嵌套函数中调用 Hook