Component和PureComponent的区别
几乎完全相同,但 React.PureComponent 通过props和state的浅对比来实现 shouldComponentUpate()。即是否需要重新渲染。
因此,在PureComponent中如果包含比较复杂的数据结构,可能回因为深层的数据不一致而导致产生错误的否定判断。
说明:如果定义了shouldComponentUpdate(),无论组件是否是PureComponent,它都会执行shouldComponentUpdate()的结果来判断是否要Update。反之,如果没有定义该方法,就会先判断是否是PureComponent组件,如果是就会对新旧props和state进行shallowEqual 比较,一旦新旧不一致,会触发 update。