Получение ошибки после того, как я положил функцию Async в useEffect - PullRequest
0 голосов
/ 22 октября 2019

В функции useEffect, если я просто упомяну переменную функции getResults, приложение не падает, но когда я вызываю его, как в коде ниже, я получаю следующие ошибки:

react-dom.development.js: 21857 Uncaught TypeError: destroy не является функцией

и

Рассмотрите возможность добавления границы ошибки в ваше дерево для настройки обработки ошибокповедение.

  function App() {
  const [foods, setFoods] = useState([]);
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => getResponse());
  const getResponse = async () => {
    const response = await fetch(sampleRequest);
    const data = await response.json();
    setFoods(data.hits);
  };
  let query = "Tomato";
  let sampleRequest = `https://api.edamam.com/search?q=${query}&app_id=${"1811484f"}&app_key=${"9cac93361efc99e2ebfbb8a453882af8"}`;

  return (
    <div className="App">
      <div className="main">
        <div className="navbars">
          {" "}
          <Navbars></Navbars>
        </div>
        <div className="listings">
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
          <Listing></Listing>
        </div>
        <div className="footer">
          <h5>Made By YoYo Strangler in 2019</h5>
        </div>
      </div>
    </div>
  );
}

export default App;

1 Ответ

1 голос
/ 22 октября 2019

Вы возвращаете результат вызова getResponse() из функции useEffect. Если вы возвращаете что-либо из useEffect, это должна быть функция. Изменение вашего кода на это должно исправить это, потому что вы больше ничего не возвращаете из функции useEffect.

useEffect(() => { 
  getResponse();
});
...