Reactガイドを読んでいくその165
これは
Reactのガイドを読んでいく記事です。
ガイドのリンク
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() の最初の引数とすることもできる。
今日はここまで。