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コードの解説です。