我目前正在尝试React
通过多个最近的课程来学习。
要更新状态,大多数课程建议采用以下方式:
const updatedNinjas = [...this.state.ninjas, newNinja];
this.setState({
ninjas: updatedNinjas
});
但是,由于setState
是“异步”,官方react文档推荐使用之前的状态,并在此基础上更新。
this.setState(prevState => ({
ninjas: [...prevState.ninjas, newNinja]
}));
两者都解决了相同的问题(因为我们在第一个示例中每次都使用一个新数组)还是只是最后一个万无一失?