reactjs - React Hook useEffect 缺少依赖项 : 'list'

标签 reactjs react-hooks

运行以下代码后,出现以下错误:

React Hook useEffect has a missing dependency: 'list'. Either include it or remove the dependency array react-hooks/exhaustive-deps

我找不到警告的原因。

import React, { useState, useEffect } from 'react';
import axios from 'axios';
import Form from './Form';

const App = () => {
  const [term, setTerm] = useState('pizza');
  const [list, setList] = useState([]);

  const submitSearch = e => {
    e.preventDefault();
    setTerm(e.target.elements.receiptName.value);
  };

  useEffect(() => {
    (async term => {
      const api_url = 'https://www.food2fork.com/api';
      const api_key = '<MY API KEY>';

      const response = await axios.get(
        `${api_url}/search?key=${api_key}&q=${term}&count=5`
      );

      setList(response.data.recipes);
      console.log(list);
    })(term);
  }, [term]);

  return (
    <div className="App">
      <header className="App-header">
        <h1 className="App-title">Recipe Search</h1>
      </header>
      <Form submitSearch={submitSearch} />
      {term}
    </div>
  );
};

export default App;

最佳答案

在你的 useEffect 中,你正在记录 list:

console.log(list);

因此,您需要删除上面的行,或者将 list 添加到末尾的 useEffect 依赖项中。 所以改变这一行

}, [term]);

}, [term, list]);

关于reactjs - React Hook useEffect 缺少依赖项 : 'list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55938884/

相关文章:

reactjs - 在react.js中从api完全获取数据之前加载Skeleton

javascript - 为什么每个状态钩子(Hook)更新都会导致异步代码中的单独重新渲染?

reactjs - 从 useState 传递数组作为 prop

javascript - TypeError : React. PropTypes 在 React js 中未定义

reactjs - react native 传奇 yield 调用不起作用

javascript - 使用输入时未终止的 JSX 内容

reactjs - 在没有 npm 包的情况下 react 原生背景模糊

reactjs - 如何将 yup 与 React hook 形式一起使用?

javascript - react : how to check and uncheck a checkbox

javascript - this.setState() 不使用传递的数组更新状态