У React Hook useEffect отсутствует зависимость - PullRequest
0 голосов
/ 10 июня 2019

У меня возникла эта проблема при создании приложения. Кто-нибудь знает, что не так?

В React Hook useEffect отсутствует зависимость: 'conectar'. Либо включите его, либо удалите массив зависимых реактив-хуков / исчерпывающий-deps

const GraficoEquivalenteNovo = props => {
  const [equivalenteNovos, setEquivalenteNovos] = useState([]);
  const [data, setData] = useState([]);
  async function conectar() {
    const resposta = await ConexaoGraficoEquivalenteNovo(props);
    setEquivalenteNovos(resposta[0]);
    setData(resposta[1]);
  }
  useEffect(() => {
    conectar();
  }, [props]);

  return (....)
};

1 Ответ

0 голосов
/ 10 июня 2019

Ваш хук зависит от функции connectar, которая объявлена ​​вне хука, но является внутренней для процесса рендеринга.Он воспроизводится на каждом рендере.Поэтому React рассматривает это как изменчивую зависимость.Вы могли бы иметь функцию вне вашего компонента, но поскольку сама функция использует хуки состояния и зависит от реквизита, переместите ее в хук эффекта.

useEffect(() => {
   async function conectar() { 
    const resposta = await ConexaoGraficoEquivalenteNovo(props); 
    setEquivalenteNovos(resposta[0]);
    setData(resposta[1]);
  } 

  conectar();
}, [props]); 
...