参考答案:
使用 shouldComponentUpdate 避免不需要的渲染,但是如果对 props 和 state 做深比较,代价很大,所以需要根据业务进行些取舍;在有子组件的情况下,为了避免子组件的重复渲染,可以通过父组件来判断子组件是否需要 PureRender。
将 props 设置为数组或对象:每次调用 React 组件都会创建新组件,就算传入的数组或对象的值没有改变,他们的引用地址也会发生改变,比如,如果按照如下的写法,那么每次渲染时 style 都是一个新对象
1// 不推荐 2<button style={{ color: 'red' }} /> 3 4// 推荐 5const style = { color: 'red' } 6<button style={style} /> 7 8// 不推荐 9<button style={this.props.style || {} } /> 10 11// 推荐 12const defaultStyle = {} 13<button style={this.props.style || defaultStyle } />
最近更新时间:2024-08-10