2017-04-07 132 views
0

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

const name = company.word; 

this.setState({ name }); 

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

谢谢您的帮助:)

+1

为什么你不会在单个setState中泡这两个? –

回答

2

你可以把它写这样也:在函数中

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

setState是不是一个好主意,尝试做所有的计算然后再使用setState

+0

计算下一个状态时依赖this.state值并不是一个好主意。 - https://facebook.github.io/react/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous 是否有可能在相同的setState中运行函数和新名称状态?为什么这不是一个好主意? –

+0

@ThomasMirmo因为状态实际上是批量更新的,而不是在调用'setState'后立即更新。你是什​​么意思“是否有可能在同一个setState中运行函数和新名称状态”......他只是向你展示了,不是吗? –