■目次
コンポーネント自体をmemo化したか
コンポーネント自体に型を定義したか(FC)
コンポーネント分割は最適か(Atomic Design等、コンポーネント分割のルールに合っているか)
propsで渡す関数はuseCallbackで囲ったか
→ useCallbackを使ってレンダリングを最適化する【関数に適用】
<aside> ⚠️ 外部データとのやりとりを記述している関数は、useCallbackで囲うとうまく処理が走らなくなる可能性大!
</aside>
input要素の場合、入力値更新用の関数で、引数のeに対して型定義をしたか
(e: ChangeEvent<HTMLInputElement>)
useState<>())
("") だとstringと判断してくれる緊急性の低い更新関数をstartTransitionでラップしたか
→ Transition【startTransition / useTransition / useDeferredValue】
Contextを使っている場合、Contextを参照しているコンポーネントの子コンポーネントはmemo化しているか(不要な再レンダリングが起きないようにしているか)
Suspenseコンポーネント、ErrorBoundaryコンポーネントでラップしたか
ローディング中、エラー時に表示するコンポーネントを用意したか / fallbackにセットしたか