React入門 練習問題 31:useEffectのクリーンアップ関数
ReactのuseEffectフックでコールバック関数から別の関数(クリーンアップ関数)を返した場合、その返された関数が実行されるタイミングや役割に関する説明として正しいものはどれか。
- コンポーネントがマウントされる直前に一度だけ実行され、初期化処理を行う役割を持つ。
- コンポーネントがアンマウントされる際や、次の副作用が実行される前に実行される。
- コンポーネントのレンダリングが失敗した際に、エラー画面を表示させるために実行される。
- コンポーネントのStateが更新されるたびに、画面の再描画を強制するために実行される。
- コンポーネントが子要素を受け取る際に、プロパティの型チェックを行うために実行される。
正解と解説を見る
正解:コンポーネントがアンマウントされる際や、次の副作用が実行される前に実行される。
useEffectで返される関数(クリーンアップ関数)は、コンポーネントがアンマウントされる際や、次の副作用が実行される前に実行される役割を持ちます。
【正解の理由】
クリーンアップ関数は、タイマーの解除やイベントリスナーの削除など、不要になった副作用の処理を後片付けするために実行されます。
【不正解の理由】
• 「コンポーネントがマウントされる直前に一度だけ実行され、初期化処理を行う役割を持つ」という説明は誤り
• 「コンポーネントのレンダリングが失敗した際に、エラー画面を表示させるために実行される」という説明は誤り
• 「コンポーネントのStateが更新されるたびに、画面の再描画を強制するために実行される」という説明は誤り
• 「コンポーネントが子要素を受け取る際に、プロパティの型チェックを行うために実行される」という説明は誤り