1 回答

TA貢獻1772條經驗 獲得超5個贊
當你調用 React 時,它表明這是對這個 useEffect Hook 的依賴。useEffectgetRecipes();getRecipes
您可以使用效果進行更新:
useEffect(() => {
getRecipes();
}, [query, getRecipes]);
但是,您將獲得
The 'getRecipes' function makes the dependencies of useEffect Hook (at line 18) change on every render. Move it inside the useEffect callback. Alternatively, wrap the 'getRecipes' definition into its own useCallback() Hook. (react-hooks/exhaustive-deps)
因此,您可以更新為:
useEffect(() => {
const getRecipes = async () => {
const response = await fetch(
`https://api.edamam.com/search?q=${query}&app_id=${APP_ID}&app_key=${APP_KEY}`
);
const data = await response.json();
setRecipes(data.hits);
console.log(data.hits);
};
getRecipes();
}, [query]);
這表示在修改時將調用此效果,這意味著 getRecipes 使用 調用 API。queryquery
添加回答
舉報