我正在调用一个 API(一个具有不同日期作为查询参数的 url),我想在同一组件的两个不同部分同时显示每周数据(更详细)和每月数据(仅当月最大) . 每周数据应在装载时以及日期更改时和每月呈现,因为数据量很大,仅应要求提供。
出于这个原因,我创建了一个 useFetch 自定义钩子来获取这两种情况的数据。
我的问题是:
// Not real code, just an idea/concept
function App() {
const [getData, setGetData] = useState(false);
const { status1, data1, error1 } = useFetch(dates1);
const { status2, data2, error2 } = useFetch(dates2, (ready: getData)); //"ready" param for calling only on request and not on mount
const handleChange = () => {
setGetData(true);
};
useEffect(() => {
if (data2[0]) {
console.log(data2);
}
}, [data2]);
return (
<>
{data1 && data1.map(...)}
<button onClick={handleChange}>Fetch data2</button>
</>
);
}
提前致谢。
PS:这是我的第一个自定义钩子,所以我希望这不是一个转储问题,但由于我已经搜索了几个小时没有明确的答案,堆栈溢出来救援。