React 中:

  1. 如果在 setState() 中传递一个对象,React 会将该对象与组件的当前状态进行浅合并

例如: 如果当前的状态是 { name: 'Alice', age: 30 },调用

js
setState({ age: 31 })

则新的状态将是 { name: 'Alice', age: 31 }。因为只有 age 属性被更新了,name 属性保持不变。

  1. 如果传递一个函数,React 会将该函数作为状态更新函数来处理,该函数必须返回一个包含新状态的对象

例如,如果当前的状态是 { count: 0 },调用

js
setState(prevState => ({ count: prevState.count + 1 }))

则新的状态将是 { count: 1 }React 会将前一个状态传递给状态更新函数,我们可以根据前一个状态计算出新的状态。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:叶继伟

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!