React PureComponent可以比Component慢吗?怎么样?
问题描述:
我指的是在一个帖子中丹阿布拉莫夫指出:React PureComponent可以比Component慢吗?怎么样?
PSA:React.PureComponent可以使您的应用程序速度较慢,如果你随心使用。
有人能解释一下?谢谢。
答
PureComponent通过组件状态和道具的浅层比较实现了shouldComponentUpdate。它将currentProps与nextProps(类似于state)进行比较,并且只有在发生更改时才调用render方法。这种比较的额外开销肯定会减慢应用程序的速度,特别是如果你的组件和状态很重。
+1
我认为你的解释中缺少的是关键指出丹·阿布拉莫夫说:组件必须重新渲染的概率可能高于不需要重新渲染的概率。因此,如果结果已知,最好避免不必要的计算。最后,如果知道道具可能会改变的频率,执行该组件的人可以提高性能。 – Amida
更进一步他说:“想想看,如果组件的道具通常比较不平坦,它会重新渲染,但它也必须运行检查” – Aaqib