跳至主要內容
setState

setState 是同步还是异步的?

trigger = (isBatchedUpdate: boolean) => {
  const runSetState = () => {
    this.setState({ count: this.state.count + 1 }, () => console.log(this.state.count));
  };

  if (isBatchedUpdate) {
    runSetState();
  } else {
    setTimeout(runSetState, 0);
  }
};

<button onClick={() => this.trigger(true)}>触发合成事件</button>;
<button onClick={() => this.trigger(false)}>触发 setTimeout 事件</button>;

h7mlreactreactsetState大约 2 分钟