React Hook の原則

useEffect を何にでも使うのはやめましょう。多くの開発者がこのフックを誤用しています。これはバグの原因となり、コードの可読性を低下させます。

useEffect の使用を制限しましょう。

1ページにつき useEffect は1つに留めるようにしてください。同じ状態に対して多くのフックを使用すると、混乱を招きます。どのフックがどの状態を更新しているのか、把握できなくなります。

ユーザーイベントに useEffect を使うのはやめましょう。

クリックやタップに useEffect を使用しないでください。代わりにイベントハンドラーを使用しましょう。

知っておくべきイベントの種類:

クリックのようなユーザーのアクションは useEffect に含めるべきではありません。これらのアクションには直接イベントハンドラーを使用してください。

Props に基づいてコンポーネントを分割しましょう。

boolean 型の prop を使ってロジックを切り替えている場合は、コンポーネントを分割してください。データの作成と更新の両方を処理するような、一つのコンポーネントを作らないようにしましょう。

多くの "if" 文を含む単一のコンポーネントは肥大化しがちです。これはアプリのメンテナンスを困難にします。

小さなコンポーネントはテストが容易です。実行速度も速く、コードもクリーンに保てます。

出典: https://dev.to/kkr0423/reactjs-the-principle-of-the-hook-3c31