回答編集履歴

1

ちょっと間違っていたので修正しました。timeoutIDはnullではなくundefinedになります。

2021/11/03 03:39

投稿

ukyoda
ukyoda

スコア386

test CHANGED
@@ -1,4 +1,4 @@
1
- `timeoutID`はローカル変数だと思うので、おそらく`setSecondCall`が呼ばれた後、再レンダリングが走ってしまい、IDがクリアされているのではないでしょうか?そのため、`clearTimeout`でタイマーのクリアがされていないのだと思います。`clearTimeout`の呼び出す直前で、`console.log`を使って`timeoutID`の値を確認してみてください。多分、`timeoutID`が`null`になっていることが確認できると思います。
1
+ `timeoutID`はローカル変数だと思うので、おそらく`setSecondCall`が呼ばれた後、再レンダリングが走ってしまい、IDがクリアされているのではないでしょうか?そのため、`clearTimeout`でタイマーのクリアがされていないのだと思います。`clearTimeout`の呼び出す直前で、`console.log`を使って`timeoutID`の値を確認してみてください。多分、`timeoutID`が`undefined`になっていることが確認できると思います。
2
2
 
3
3
 
4
4