美文网首页
PureComponent

PureComponent

作者: 二三筆 | 来源:发表于2020-10-26 17:40 被阅读0次

产生

react的更新机制可知可知PureComponent的产生及其应用场景。

  • diff算法运行在哪个生命周期呢?
    在render之后,render返回的是virtual DOM。diff算法就是对virtual DOM进行比较。从而以最优策略更新DOM。
    我们刚才提到shouldComponentUpdate可以控制render函数是否调用,shouldComponentUpdate返回为false时不调用render。假如state和props并没有改变,那么调用render,执行diff运算就毫无意义。我们可以在shouldComponentUpdate钩子函数中比较state和props是否改变,如果没有改变直接返回false,不进行render调用。这时候react引入了PureComponent概念,他会在render之前对state和props进行浅比较,若state和props都相同,则不会调用render。这个浅比较是在shouldComponentUpdate中进行的,所以,使用PureComponent时不能在用shouldComponentUpdate钩子函数了,因为会覆盖默认的钩子函数行为。

应用场景

PureComponent 最佳情况是展示组件。如果更新次数频繁的组件,使用 PureComponent 只会带来大量的比较,降低了性能。

PureComponent VS Component

可阅读React 的 PureComponent Vs Component

注意事项

PureComponent不能使用shouldComponentUpdate周期,会报错。

PureComponent更新机制

阅读React PureComponent 浅比较详解可以详情知道更新机制。

资料来源:
[1] 北极星__ react的更新机制可知
[2] huangpb0624 React PureComponent 浅比较详解
[3] shuxiaotai React 的 PureComponent Vs Component

相关文章

  • PureComponent和FunctionComponent区

    pureComponent pureComponent继承Component, 和Component唯一的区别就是...

  • React Native之PureComponent

    前言 PureComponent继承自Component。PureComponent几乎和Component完全相...

  • 聊一聊React中Component、PureComponent

    Component和PureComponent 首先来说一下 Component 和 PureComponent ...

  • 使用PureComponent提高render性能

    什么是PureComponent PureComponent就是React 15.3.0 新增了一个 PureCo...

  • PureComponent原理

    1. PureComponent介绍 PureComponent会对props和state进行浅比较,跳过不必要的...

  • PureComponent

    浅比对与深比对 PureComponent 是 React 15.3.0 新增了一个的类,它相当于默认实现了sho...

  • PureComponent

    继承自PureComponent的时候,再点击的时,不会再输出render,即不会再重新渲染了==========...

  • pureComponent

    PureComponent是优化react应用程序最重要的方法,可以减少不必要的render次数,提高性能。 原理...

  • PureComponent

    React 15.3在2016.06.29发布了,这个版本最值得关注的是支持了PureComponent 。Pur...

  • pureComponent

    利用shouldComponentUpdate或者PureComponent来减少因父组件更新而触发子组件的ren...

网友评论

      本文标题:PureComponent

      本文链接:https://www.haomeiwen.com/subject/qpdpmktx.html