回答編集履歴
1
誤字修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
useEffect の第二引数は値の配列で、どれかの値が変わったら第一引数が実行されます。以下のコードでは初回および flag の値が変わった時に実行されるので、flag が true の時だけ実行したければ if で分岐すれば良いでしょう。
|
4
4
|
|
5
|
-
また、useEffect の戻り値も重要で、クリーンアップ関数を返せば次に useEffect の第一引数を実行する前にクリーンアップ関数を実行してくれます。つまり、以下のコードでは flag を false にすればタイマー処理が停止します。
|
5
|
+
また、useEffect の第一引数の戻り値も重要で、クリーンアップ関数を返せば次に useEffect の第一引数を実行する前にクリーンアップ関数を実行してくれます。つまり、以下のコードでは flag を false にすればタイマー処理が停止します。
|
6
6
|
|
7
7
|
実行の流れはこんな感じになります。
|
8
8
|
1. 初回レンダー時には flag は false なので、何もしません。
|