Почему массив зависимостей в useEffect входит в бесконечный цикл?

#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. Что ты имеешь в виду? я отредактировал сообщение, чтобы увидеть полный код. Спасибо