效率高的做法
只有当组件的state或props数据发生改变时才能重新render()
原因
Component 中的shouldComponentUpdate() 总是返回true
解决
方法1:
重写shouldComponentUpdate()方法
比较新旧state 或props 数据,如果有变化才能返回true,如果没有返回flase
方法2:
使用PureComponent
PureComponent 重写了shouldComponentUpdate(),只有state或者porps数据变化才能返回true
注意:只用进行state和props 数据的浅比较,如果只有数据对象内部数据变了,返回false
不要直接修改state数据,而是要生产新数据对象内部数据变了,返回false
项目中一般使用PureComponent来优化