Правило перехватчиков React перехватывает также обязательные функции в массиве useEffect

Так что я получил следующий эффект

  useEffect(() => {
    if (disabled) {
      setAnimatedValue(0);
    } else {
      setAnimatedValue(1);
    }
  }, [disabled]);

Это просто оживляет кнопку в ее включенном или отключенном состоянии, если disabled изменения опоры.

Я также добавил следующее правило в мой конфиг eslint

  'react-hooks/exhaustive-deps': 'warn',

Теперь я получаю предупреждение, что setAnimatedValue нужно добавить в мой useEffect массив рядом disabled опора, но это просто функция, которая не является ни состоянием, ни опорой, поэтому она не должна идти туда, насколько я понимаю.

Есть ли способ как-то заставить это правило предупреждать только если я пропущу state или же prop значение?

0 ответов

Если твой setAnimation функция не полагается на внешнее состояние или реквизиты, поэтому ее можно безопасно опустить.

т.е. если единственноеsetAnimation должен выполнить свой эффект - это значение 0/1, переданное ему - тогда его можно пропустить.

Вероятно, это функция установки, так что вы в безопасности.

https://reactjs.org/docs/hooks-faq.html#is-it-safe-to-omit-functions-from-the-list-of-dependencies

Другие вопросы по тегам