让我们说有这种状态
state = {
name: 'Daniel',
fruits: {
one: 'Banana',
two: 'Apple'
}
}
我可以用
更新this.setState({
fruits: {
...this.state.fruits,
one: 'Pineapple'
}
})
或者我可以做
this.setState(prevState => ({
fruits: {
...prevState.fruits,
one: 'Pineapple'
}
}))
我知道如果你有一个应该增加的计数器,那么确保你从之前的状态增加是个好主意。但是,如果我们要更改名称而不关心以前的名称。在这种情况下使用prevState有什么好处吗?
如果您实际上是根据以前的状态计算某些内容,您是否只需要使用prevState?在这种情况下,我们正在传播水果对象。这个对象是否可以在另一个调用中同时更改并且没有prevState的版本覆盖它? (在处理状态中的对象时,我是否总是必须使用prevState?)