在React中,我試圖讓按鈕增加一個存儲在狀態中的值。 但是,使用下面的代碼函數時,我的值設置爲undefined或NaN時使用handleClick。使用React將狀態值增加1
class QuestionList extends React.Component {
constructor(props) {
super(props);
this.state = {value: 0};
// This binding is necessary to make `this` work in the callback
this.handleClick = this.handleClick.bind(this);
}
handleClick = (prevState) => {
this.setState({value: prevState.value + 1});
console.log(this.state.value)
}
你能告訴我爲什麼會發生這種情況嗎?它應該是正確的根據文檔在這裏: https://facebook.github.io/react/docs/state-and-lifecycle.html
謝謝,我需要不使用prevState 。 – dwigt
@dwigt它你注意到我改變了你的控制檯日誌,在你的setstate函數的回調中。因爲在setstate函數調用之後線程命中它時,內聯控制檯日誌將會執行,而不是完成狀態更新:) –