【发布时间】:2021-09-15 07:14:34
【问题描述】:
我使用 React 已经有一段时间了,我总是使用扩展运算符更新对象的状态,因为我记得读过你应该直接更改当前状态。
例如,现在我写这样的东西:
const changeState = () => {
setState(prevState => {...prevState, existingKey: 'new value'})
}
但我刚刚在 React 文档 (https://reactjs.org/docs/state-and-lifecycle.html#state-updates-are-merged) 中遇到了“合并状态更新”部分。如果我理解正确的话,本质上是说我可以改写这个:
const changeState = () => {
setState({existingKey: 'new value'})
}
并且对象中的所有其他键将保持原样,只有我指定的键将在状态中更新。我读对了吗?我从来没有在stackoverflow上看到过这个,我总是看到有人说要使用扩展运算符,有什么原因吗?
【问题讨论】:
标签: reactjs