重构 pure() 与 React.PureComponent

Posted

技术标签:

【中文标题】重构 pure() 与 React.PureComponent【英文标题】:Recompose pure() vs React.PureComponent 【发布时间】:2019-03-03 22:58:29 【问题描述】:

Recompose 库中的 pure() 和 React.PureComponent 有什么区别?我猜他们本质上是在解决同样的问题。有人可以澄清一下吗?

【问题讨论】:

【参考方案1】:

区别在于React.PureComponent是有状态组件而keeps track on the state:

React.PureComponent 类似于 React.Component。它们之间的区别在于 React.Component 没有实现 shouldComponentUpdate(),但是 React.PureComponent 通过浅 prop 和 state 比较来实现它。

虽然 Recompose 针对的是无状态功能组件,但 pure shallowly detects changes in props only。

两者都使用shouldComponentUpdate 来浅层检测更改,因此它们之间没有实际区别,只要组件不涉及本地状态即可。

【讨论】:

以上是关于重构 pure() 与 React.PureComponent的主要内容,如果未能解决你的问题,请参考以下文章