【发布时间】:2020-02-13 06:11:43
【问题描述】:
我正在使用自定义挂钩从 API 中获取一些数据,以便在一组 React 函数组件中使用。然而,esLint 抛出了一个可爱的警告:
React Hook useEffect 缺少一个依赖项:'fetchFromAPI'。任何一个 包含它或删除依赖数组。
我不认为这是一个依赖项,因为它在 useFetch() 内部。我需要这样做,因为我正在使用await。我究竟做错了什么?关闭这条线路的警告可以吗?还是我应该使用更规范的语法?
function useFetch (url) {
const [data, setData] = useState(null);
async function fetchFromAPI() {
const json = await( await fetch(url) ).json();
setData(json);
}
useEffect(() => {fetchFromAPI()},[url]);
return data;
};
export {
useFetch
};
【问题讨论】:
标签: reactjs eslint react-hooks use-effect