Я определил функцию в родительском компоненте, которая обновляет локальное состояние и передает ее дочернему компоненту. В дочернем компоненте я хочу вызывать функцию в ловушке useEffect каждый раз, когда изменяется значение зависимости magLockDropdown. Когда я пытаюсь это сделать, я получаю предупреждение о повреждении, показанное ниже. Будет ли хорошей идеей отключить линтер для этого примера? Я понимаю, что каждый раз, когда родитель перерисовывает, он создает функцию, которая передается вниз, но не уверен, вызывает ли это предупреждение. Любая помощь приветствуется. Спасибо!
Функция в родительском компоненте.
const updateWeeklyTestState = (name, value) => {
setWeeklyTest({
...weeklyTest, [name]: value
})}
Хук UseState в дочернем компоненте.
useEffect(() => {
updateWeeklyTestState (failList, maglockDropdown)
}, [maglockDropdown])
esLint Предупреждение:
У React Hook useEffect отсутствует зависимость: 'updateWeeklyTestState'. Либо включите его, либо удалите массив зависимых реагирующих зацепок / исчерпывающие задержки
РЕДАКТИРОВАТЬ
дочерняя декларация
export default function Maglocks (props) {
const [maglockDropdown, setMaglockDropdown] = useState(['Pass'])
const { maglocks, weeklyTestState, updateWeeklyTestState, addFailedMaglocksToArray } = props