因為 setState 不是同步的,而且會 batch 在一起^文件:
https://bit.ly/2NmOrBxhttps://stackblitz.com/edit/react-ndrcpa?file=index.js照文件修好之後像上面這樣,應該是你要的結果,參考看看如果你的 setState 會依賴於上一個 state,那就應該改用this.setState((state,props) => newState) 這種形式去寫才可以正常運算,不然會遇到很多先後順序和 batch 的問題依賴於上一個 state: 比方說你先取用了 this.state 然後再運算再把運算結果丟去 this.setState({})這種寫法就會有問題取用上一個 state, props 的東西都應該寫在 this.setState((state, props) => 的這個 function 裡面)