PureComponent 之理解

185 阅读1分钟

component 组件的2个问题

1:只要执行  setState()  即使不改变状态数据  组件也会重新 render  —效率低  2:只要当前组件 执行了 render() ,其子组件就会render  纵使子组件没用到父组件的任何数据   —效率低 

解决办法: 

使用PureComponent  PureComponent 重写了 shoudComponentUpdate  只有 state 或 props 有变化 才返回  true

注意      只是对  state  props  数据进行了 浅比较  如果是数据对象内部数据发生了变化  返回  false

    所以不要直接修改 state 的数据进行  setState  而是要产生新数据 

项目中一般用  PureComponent 来进行性能优化