美文网首页
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

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