useEffect、本当に理解してる?
実行タイミング、クリーンアップ、よくある誤用まで。useEffectを説明できるか確認します。
この問題のねらい
useEffectを「とりあえず書くもの」ではなく、外部との同期の仕組みとして説明できるかを確かめます。
はじめる前に
この問題では、すぐに正解は表示しません。まず自分の言葉で回答してみてください。
最後まで回答すると、問題とあなたの回答をまとめてコピーできます。普段使っているAIチャットに貼り付けると、理解度をチェックしてもらえます。
こんな問題が出ます
- Q1
useEffectは何のためのフックですか? 「副作用」とは何を指すのかも、自分の言葉で説明してください。
- Q2
依存配列について、次の3つの場合でeffectが実行されるタイミングの違いを説明してください。 1. 依存配列を省略した場合 2. [] を渡した場合 3. [count] を渡した場合
- Q3
useEffectのクリーンアップ関数は、いつ、何のために実行されますか? 具体的な例を挙げて説明してください。
- Q4
次のコンポーネントで、userIdが素早く 1 → 2 と変わったとき、どんな問題が起こりえますか? また、どうすれば防げますか?
- Q5
次のコードを見た人が「propsやstateから別の値を作るときは、useEffectで別のstateに入れるのが正しい書き方」と言っています。 この考え方の問題点を説明してください。