React 中全部的用PureComponent会不会存在什么问题或者说PureComponent存在什么坑吗?

PureComponent中是在shouldComponentUpdate中进行了一层浅比较

使用PureComponent能够在组件再次渲染时避免很多无用的计算,在实际使用中用PureComponent会存在什么问题或者坑吗?

按照我的理解,只要满足immutable应该是不会出问题的

阅读 2.3k
1 个回答

是的,只要满足immutable就不会出问题,所以适合搭配immutable.js使用...
坑的话,你能想到immutableshouldComponentUpdate浅比较,大概也能想到了,就是state或者props是引用类型时,如果直接改变内部的属性,而不是返回一个新的引用,就会有问题。。
例如:

const foo = this.state.arr;
foo.push(5);
this.setState({
    arr: foo,
})

因为foo就是arr, 所以浅比较时,会返回false, 不会重新render

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题