useEffect を使って「初回以外の再レンダリング時に実行される処理」を書くにはどうすれば良いのか? という疑問を、たまに目にします。 たとえば、以下のような仕様の、「商品価格を編集する画面」を作ることを考えてみましょう。 日本での販売価格入力 ページ読み込み時には初期値が入っている アメリカでの販売価格入力 ページ読み込み時には、初期値が入っている 日本での販売価格入力に入力するたび、その1/100の値が自動で入力される あくまで、入力の参考にするため、というイメージ この欄に入力すれば、上書きできる そもそも、こういった自動入力は「入力するたび」ではなく、「フォーカスを外したとき」にするのが定石だと思いますが、 useEffect の話がしたいので、あえてこのような仕様に設定しています。 ❌️ useEffect を使って変更検知しようとすると暴発する 《日本での販売価格 japa