React setStateが非同期処理でどうすれば良いかわからなかった件
- 2022/04/02
- 18:00
React初心者で、とてもつまづいた。
setStateをした後に、setしたstateをさらに処理したかったんだけど、
setStateは非同期処理のために、後半の処理が実行される時にまだstateが更新されておらず、思った処理ができない。
ここでハマる人結構多いんじゃないだろうか?
数日間ハマって心折れそうになった後、解決策がわかった。
そもそも、setStateした後にstateを続けて処理しようとすることが間違い。
これはcomponentDidUpdateでやらないといけなかった。
componentDidUpdateの必要性がやっとわかった。
componentDidUpdateを使うときの注意点は、条件分けをしないと無限処理されてしまうこと。
あと、prevPropsとprevState両方を引数として取らないといけないこと。
componentDidUpdate() — prevState, prevProps and a silly mistake
setStateをした後に、setしたstateをさらに処理したかったんだけど、
setStateは非同期処理のために、後半の処理が実行される時にまだstateが更新されておらず、思った処理ができない。
ここでハマる人結構多いんじゃないだろうか?
数日間ハマって心折れそうになった後、解決策がわかった。
そもそも、setStateした後にstateを続けて処理しようとすることが間違い。
これはcomponentDidUpdateでやらないといけなかった。
componentDidUpdateの必要性がやっとわかった。
componentDidUpdateを使うときの注意点は、条件分けをしないと無限処理されてしまうこと。
あと、prevPropsとprevState両方を引数として取らないといけないこと。
componentDidUpdate() — prevState, prevProps and a silly mistake
スポンサーサイト
- テーマ:webサイト作成
- ジャンル:コンピュータ
- カテゴリ:WEBデザイン
- CM:0
- TB:0