1. ホーム
  2. reactjs

[解決済み] ReactフックのuseEffectは更新時のみ?

2023-05-26 17:34:54

質問

もし useEffect をコンポーネントがマウントされたときだけ実行するように制限したい場合は、2番目のパラメータとして useEffect の第二引数に [] .

useEffect(() => {
  // ...
}, []);

しかし、どのようにすれば useEffect が実行されるようにするにはどうしたらよいでしょうか?

どのように解決するのですか?

初期マウント以外の更新時にのみuseEffectを実行させたい場合、useEffectを実行するために useRef でinitialMountを追跡するようにします。 useEffect で、2番目のパラメータを指定しない場合。

const isInitialMount = useRef(true);

useEffect(() => {
  if (isInitialMount.current) {
     isInitialMount.current = false;
  } else {
      // Your useEffect code here to be run on update
  }
});