React - ошибка в useEffect (). dat делает все на странице go в бесконечном l oop? - PullRequest
0 голосов
/ 17 апреля 2020

Я преобразовал все свои компоненты класса в функциональные компоненты. Теперь, когда я изменяю некоторый код в IDE во время разработки, моя страница становится бесконечной l oop. Я почти уверен, что один из моих useEffect() хуков содержит ошибку (или отсутствует) условной переменной срабатывания. Но потребуется некоторое время, чтобы выяснить, какой из них.

Итак, мой вопрос. Есть ли простой способ выяснить, какой из них сломан, что вызвало бы l oop. И будет ли он также * oop после сборки или только в разработке?

. Это очень просто c, так как у меня есть около 20, используя этот принцип.

import React, {useEffect} from "react";

const Layout = ({ data }) => {
  useEffect(() => {
    // some jQuery stuff
  }, [data.myConditionalVar])

  return (
    <div>
     // my stuff
    </div>
  )
}

1 Ответ

1 голос
/ 18 апреля 2020

useEffect вызывается при каждом изменении второго передаваемого аргумента. В вашем случае это data.myConditionalVar.

Итак, я предполагаю, что внутри useEffect вы обновляете data, используя jquery, что заставляет React снова вызывать useEffect, что приводит к бесконечному l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...