BFE.devでのAI解答例 - React クイズ
26. useEffect() III
以下は、上記のReactクイズに対する解説です。
-
最初に呼び出される
console.log(1)は、最初のレンダリング時に表示されます。 -
useEffectフックは、指定した依存配列(第2引数)の値が変化した時に実行されます。この場合、[count]と指定しているため、countが変化するたびに実行されます。a. コンポーネントが初めてマウントされた時、または
countの値が変更された時には、関数console.log(2)が実行されます。b. 戻り値として関数を返しています。これは、コンポーネントがアンマウントされる際に実行されるクリーンアップ関数です。このクリーンアップ関数内の
console.log(3)は、コンポーネントがアンマウントされる際に実行されます。 -
別の
useEffectフックは依存配列を空の配列[]として指定しており、初めの一度だけ実行されます。a. コンポーネントが初めてマウントされた時に、関数
console.log(4)が実行されます。b.
setCount関数は、現在のcountの値を受け取り、1を加えた値を新しいcountの値として設定します。今回は初めの一度だけ実行されます。 -
Childコンポーネントは、countをプロップスとして受け取ります。a.
Childコンポーネント内のuseEffectフックは、指定した依存配列が変化するたびに実行されます。b. マウント時、または
countの値が変化した時には、関数console.log(5)が実行されます。c. 戻り値として関数を返しています。これは、コンポーネントがアンマウントされる際に実行されるクリーンアップ関数です。このクリーンアップ関数内の
console.log(6)は、コンポーネントがアンマウントされる際に実行されます。 -
return文では、Childコンポーネントをnullとして返しています。
以上が、上記のReactコードの解説です。