重构 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的主要内容,如果未能解决你的问题,请参考以下文章

React Typescript 类组件默认道具接口

XCTestCase 与 Pure Swift 类

“类云”的存储服务什么样?Pure Storage发布Pure Fusion等系列新品

linux下FTP安装与配置

JSON和JS重复检查索引号(PURE JAVASCRIPT)

如何通过 Maven 运行 Stilliard/pure-ftpd