【发布时间】:2020-03-27 07:47:05
【问题描述】:
请帮忙解决useCallback,如何调用它才能让useEffect不会向服务器发送无休止的请求?现在它发送无尽的请求,我知道这个需要useCallback,但我不明白如何使用它
// Get data
useEffect(() => {
api.getTestLeagues()
.then(data => setLeagues(data));
api.getTestCountries()
.then(data => setCountries(data));
if(sidebars === null && leagues !== null && countries !== null) {
onTest()
}
}, [api, leagues, sidebars, countries, onTest]);
// 'onTest' 函数使 useEffect Hook(第 29 行)的依赖关系在每次渲染时都发生变化。将它移到 useEffect 回调中。或者,将“onTest”定义包装到它自己的 useCallback() Hook 中
// test
const onTest = () => {
const updateObj = {
leagues: {
title: "Мои лиги",
items: leagues
},
countries: {
title: "Страны",
items: countries
}
};
setSidebars(updateObj);
};
【问题讨论】:
-
你要使用的是componentDidMount。以下是如何使用钩子来使用它们:medium.com/@felippenardi/…
标签: reactjs