(React.js)为什么状态不会立即改变?

时间:2017-06-16 13:12:09

标签: javascript reactjs frontend

我通过删除players内的对象来改变状态。但似乎状态没有立即改变?这是我在其他地方制作的一个功能还是一个错误?

console.log("Before(length):"+this.state.players.length);
players=players.filter(player => player.id !== id2);}
this.setState({players});
console.log("After(length):"+this.state.players.length);

结果是

Before(length):6
After(length):6

之后应该是5?

1 个答案:

答案 0 :(得分:1)

  

将setState()视为请求而不是立即命令   更新组件。为了获得更好的感知性能,React可能会   延迟它,然后一次更新几个组件。

https://facebook.github.io/react/docs/react-component.html#setstate