回答編集履歴

1

誤字修正

2022/07/30 05:15

投稿

hoshi-takanori
hoshi-takanori

スコア7903

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 なので、何もしません。