Лучший способ выполнить useEffect, когда логическое значение изменяется в одном направлении? - PullRequest
0 голосов
/ 04 февраля 2020

Я хочу выполнить эффект, когда val переходит от false к true, но не наоборот.

Это лучшее, что я придумал:

 const valPrev = useRef(val);
  useEffect(() => {
    if (val && !valPrev.current) {
      // do stuff
    }
    valPrev.current = val;
  }, [val]);

Но такое ощущение, что может быть более умный способ, может быть, как-то использовать функцию возврата?

Редактировать: мой плохой, я забыл подчеркнуть, я хочу запустить эффект на изменить . Всякий раз, когда val переходит с false до true. Это означает, что он должен пропустить начальный рендер.

1 Ответ

0 голосов
/ 04 февраля 2020

А что по этому поводу?

useEffect(() => {
  if (val) {
    // do stuff
   }
}, [val]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...