【问题标题】:What does nextState do in shouldComponentUpdate?nextState 在 shouldComponentUpdate 中做了什么?
【发布时间】:2018-07-14 19:59:13
【问题描述】:

在 React 生命周期函数 shouldComponentUpdate(nextProps, nextState) 中,nextProps 是不言自明的。

但是 nextState 是做什么的呢?

在决定是否应该渲染/修改组件之前,我可以评估即将到来的状态,这听起来不对。

【问题讨论】:

    标签: reactjs react-lifecycle


    【解决方案1】:

    基本上此时状态已经改变,您是否认为有必要重新渲染组件并基于此返回 true 或 false

    【讨论】:

      【解决方案2】:

      nextState 用于检测组件是否应该根据即将到来的状态进行更新,就像您提到的那样。

      这有助于优化更新组件。例如:

      如果状态变成具有多个属性的大对象,但特定组件只关心单个属性或状态的一小部分,您可以检查该更改以确定该组件是否需要重新渲染。此示例取自 React 文档,但很好地说明了要点:

      shouldComponentUpdate(nextProps, nextState) {
          if (this.props.color !== nextProps.color) {
            return true;
          }
          if (this.state.count !== nextState.count) {
            return true;
          }
          return false;
      }
      

      【讨论】:

        猜你喜欢
        • 2021-11-30
        • 2014-08-03
        • 2012-02-12
        • 2010-10-26
        • 2019-07-12
        • 2010-11-20
        • 2011-07-24
        • 2012-08-07
        • 1970-01-01
        相关资源
        最近更新 更多