useEffectをページ読み込み時に停止するためには、以下の方法があります。
-
条件付きでuseEffectを使用する: 通常、useEffectはコンポーネントがマウントされた後に実行されますが、第2引数として渡す配列に依存する値を指定することで、その値が変化した場合にのみuseEffectを実行するように制御できます。ページ読み込み時にのみuseEffectを実行したい場合は、第2引数の配列を空にしてください。
useEffect(() => { // ページ読み込み時に実行したい処理 }, []);
-
useRefフックを使用する: useRefフックを使用して、コンポーネントの初回レンダリング時にtrueを示すフラグを作成します。そのフラグを使用して、useEffect内で条件をチェックし、初回のみ処理を実行します。
const isFirstRender = useRef(true); useEffect(() => { if (isFirstRender.current) { isFirstRender.current = false; // ページ読み込み時に実行したい処理 } }, []);
上記の方法を使用することで、ページ読み込み時にuseEffectを停止することができます。必要に応じて、状況や要件に合わせて適切な方法を選択してください。