重构 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的主要内容,如果未能解决你的问题,请参考以下文章
“类云”的存储服务什么样?Pure Storage发布Pure Fusion等系列新品