我通过删除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?
答案 0 :(得分:1)
将setState()视为请求而不是立即命令 更新组件。为了获得更好的感知性能,React可能会 延迟它,然后一次更新几个组件。
https://facebook.github.io/react/docs/react-component.html#setstate