Правило перехватчиков 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