2026-08-17 Ginza.js #11 での発表資料です。
AI でホームページを作るサービスのサイトエディタで、状態管理の失敗を2つして、2つとも同じ形で直した話をしました。
ざっくり説明すると、「履歴に入れない」「同時に1つだけ」といったルールを、毎回コードで気をつけて守るのをやめて、そもそも壊れない構造に変えた結果、useEffect が不要になりました、という内容です。
発表用の資料のため、口頭で補った部分はスライドに含まれていません。
特に次の3点は、資料だけでは伝わりにくいと思います。
- それぞれのコードが、実際にどう壊れていたか
- 「呼び忘れ」「消し忘れ」が具体的に何を指しているか
- 直したあとに気づいた、React 公式ドキュメントとの一致
参考にした公式ドキュメント
https://react.dev/learn/you-might-not-need-an-effect
https://react.dev/learn/sharing-state-between-components