#javascript #reactjs #react-native
Вопрос:
Почему массив зависимостей в useEffect входит в бесконечный цикл? Я не вижу никаких проблем в своем коде. Что я могу попытаться решить эту проблему? Почему массив зависимостей в useEffect входит в бесконечный цикл? Я не вижу никаких проблем в своем коде. Что я могу попытаться решить эту проблему?
useEffect(() => {
if (cacheStore amp;amp; !data10?.user) {
getDog();
}
if (data amp;amp; !data10?.user amp;amp; !data5?.taskCreated) {
setData10(data);
}
if (logout) {
setCacheStore(null);
localStorage.removeItem("token");
}
if (!logout) {
setCacheStore(token?.login.token);
localStorage.setItem("token", token?.login.token);
}
if (tasks) {
const timer1 = setTimeout(() => {
console.log("sndsndsn", tasks)
setData10((prev) => ({
...prev,
user: {
...prev.user,
tasks: [
...prev.user.tasks,
{ id: "87877", name: "eduard", completed: false }
]
}
}));
}, 4000)
return () => clearTimeout(timer1);
}
}, [
data10,
data5,
tasks,
getDog,
token,
data,
cacheStore,
logout
]);
Комментарии:
1. Где ваша функция useEffect и массив зависимостей?
2. useEffect(() => { if (задачи) { const timer1 = setTimeout (() = > > { console.log(«sndsndsn», задачи) setData10((предыдущая версия) =>>> ({ … предыдущий, пользователь: { …предыдущий пользователь, задачи: [ …предыдущий пользователь.задачи, { идентификатор: «87877», имя: «эдуард», завершено: ложно } ] } })); }, 4000) return () => clearTimeout(timer1); } }, [ данные 10, данные 5, задачи, getDog, токен, данные, хранилище данных, выход из системы ]);
3. @CoreyCascio пожалуйста, обновите вопрос, код трудно прочитать в комментариях
4. Вы устанавливаете
data10
эффект использования, который зависит от этого…? Конечно, это создает бесконечный цикл.5. Что ты имеешь в виду? я отредактировал сообщение, чтобы увидеть полный код. Спасибо