Javascript 在setState-React.js ES6中设置多个状态
如何将名称const添加到第二个setState方法中?为了增加currentCompany,我必须包括prevState。当我尝试添加名称const时,它不起作用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 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)
}