首页 > 解决方案 > 在 React 中同时从状态更改 2 个属性?

问题描述

使用以下内容是否有任何影响:

someFunction(){
  this.setState({
     propertyA:true,
     propertyB:'some string'
  })
}

还是应该通过单独的事件更改状态中的每个属性?

标签: reactjsstate

解决方案


这是设置状态的理想方式。setState是一个异步调用,这意味着它将并发状态更新批处理到一个调用中,以防止不必要的渲染。

所以这:

someFunction(){
  this.setState({
     propertyA:true,
     propertyB:'some string'
  })
}

和这个:

someFunction(){
  this.setState({
     propertyB:'some string'
  });
  this.setState({
     propertyA:true,
  });
}

会产生同样的结果。


推荐阅读