react 最佳实践
增加属性类型检测 代码的健壮性
1
2
3
4
5import PropTypes from 'prop-types';
YourComponent.propTypes = {
name: PropTypes.string
};默认属性设置
1
2
3YourComponent.defaultProps = {
name: 'Stranger'
};使用 react-dev-tool 来检测
- 使用shouldComponentUpdate或者使用PureComponent实现性能优化
在constructor中绑定this
1
2
3
4
5
6// 避免下面的用法
<a onClick={(e)=>this.clickHandle(e)}>
// 使用如下方法来实现
constructor() {
this.clickHandle = this.clickHandle.bind(this)
}使用key,并且正确使用key帮助react提升性能
注意不要给子组件的key设置为index 因为这样并没有解决我们的问题
- 请把异步请求等side effect 操作 放到componentDidMount中
具体原因参考:客户端请求应该放到什么地方