over 2 years ago

在官方的文件有提出 State Updates May Be Asynchronous

所以在處理連續的運算式時建議還是使用 callback 的方式處理 setState 以避免 非同步所造成的資料錯亂

// Wrong
this.setState({
  counter: this.state.counter + this.props.increment,
});
// Correct
this.setState((prevState, props) => ({
  counter: prevState.counter + props.increment
}));

底下網址有針對 setState 有更深入的分析
https://medium.com/javascript-scene/setstate-gate-abc10a9b2d82#.ertzgfsqi
https://medium.freecodecamp.com/functional-setstate-is-the-future-of-react-374f30401b6b#.2kom0bnyb

← 使用 nvm 管理 Node 版本 簡單描述 side-effects →
 
comments powered by Disqus