Reactガイドを読んでいくその165

これは

Reactのガイドを読んでいく記事です。

ガイドのリンク

ja.reactjs.org

React.Component

他の API

setState()

昨日の続きです。

setState()の更新タイミングはバッチ式だったり、遅延したりする。
なのでsetState()の直後にthis.stateを読み取るようにするとうまく機能しない可能性がある。
componentDidUpdate やsetState コールバック(setState(updater, callback))をつかうことで更新された後に機能することが保証される。

参考:
詳細: setState() はいつ、なぜバッチ処理されるのですか?
stackoverflow.com

updater 関数が受け取る state と props の両方が最新のものであることが保証されている。

this.setState((state, props) => {
  return {counter: state.counter + props.step};
});

2番目のパラメータは、省略可能。
setState が完了してコンポーネントが再レンダリングされると実行されるコールバック関数。
関数の代わりに、オブジェクトを setState() の最初の引数とすることもできる。

今日はここまで。