Javascript 在setState-React.js ES6中设置多个状态

Javascript 在setState-React.js ES6中设置多个状态,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,如何将名称const添加到第二个setState方法中?为了增加currentCompany,我必须包括prevState。当我尝试添加名称const时,它不起作用 const name = company.word; this.setState({ name }); this.setState(prevState => ({ currentCompany: (prevState.currentCompany + 1) })); 谢谢你的帮助:)你也可以这样写: this.set

如何将名称const添加到第二个setState方法中?为了增加currentCompany,我必须包括prevState。当我尝试添加名称const时,它不起作用

const name = company.word;

this.setState({ name });

this.setState(prevState => ({
  currentCompany: (prevState.currentCompany + 1)
}));

谢谢你的帮助:)

你也可以这样写:

this.setState({ 
    name ,
    currentCompany: this.state.currentCompany + 1
})

在一个函数中使用多个
setState
不是一个好主意,请尝试执行所有计算,然后在此之后使用
setState
一次。

函数一旦更改设置多个状态
this.setState(prevState => ({
  name: company.word,
  currentCompany: (prevState.currentCompany + 1)
}));
onChange(字段、值){


在HTML上使用
onChange=e)=>this.onChange('title',e.target.value)}

为什么不将这两个值合并在一个设置状态中?在计算下一个状态时依赖this.state值不是一个好主意。-是否可以在同一个setState中运行函数和新名称状态?为什么这不是一个好主意?@ThomasMirmo因为状态实际上是成批更新的,而不是在调用
setState
后立即更新。“是否可以在同一个setState中运行函数和新名称状态”是什么意思。。。他只是给你看,不是吗?我想他是说你不应该用prevState吗?类似于
this.setState(prevState=>({name,currentCompany:(prevState.currentCompany+1)}))
const next = {

 ...this.state,

[field]: value

 }
this.setState(next)

 }