2017-04-07 133 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中運行函數和新名稱狀態」......他只是向你展示了,不是嗎? –