添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 出于性能考虑,React 可能会把多个 setState() 调用 合并成一个 调用
  • 因为 this.props 和 this.state 可能会异步更新,所以你 不要依赖他们的值 来更新下一个状态
    1
    2
    3
    4
    5
    add() {
    this.setState({count:count + 1})
    this.setState({count:count + 1})
    }
    add()
  • 上述连续两次在点击事件调用setState

    图例

    执行顺序
    第一步
  • 首先调用实例的updater上的enqueueSetState
  • 目的是让setState入列
    1
    2
    3
    4
    5
    6
    7
    ReactComponent.prototype.setState = function (partialState, callback) {
    // 将setState事务放进队列中
    this.updater.enqueueSetState(this, partialState);
    if (callback) {
    this.updater.enqueueCallback(this, callback, 'setState');
    }
    };
  • 将更新状态的组件也放入队列中
  • 将新的state放进数组里
  • 用enqueueUpdate来处理将要更新的实例对象
  • 目前达到的效果