第二引数を空配列にしているuseEffectが2回呼ばれてしまう
原因:
create-react-appで作成したアプリのindex.tsxが使用している
意図しない副作用の検出のためにコンポーネントを2度呼ぶようにしている。
ja.reactjs.org
StrictModeの利点:
- 安全でないライフサイクルの特定
- レガシーな文字列 ref API の使用に対する警告
- 非推奨な findDOMNode の使用に対する警告
- 意図しない副作用の検出
- レガシーなコンテクスト API の検出
- state の再利用性を保証する
これは検証用の機能であり、開発モードでのみ適用されるため本番環境においては問題なし。