我尝试使用loadsummer设置的数据到一个状态,将持有json对象返回,但当尝试调用第二个函数时,我得到未定义时,使我的API调用,但在下一次呈现它填充的状态,第二个函数更新.感谢任何指针和建议
useEffect(() => {
try {
if (Object.keys(results).length === 0) {
loadSummonerData();
}
} catch (err) {
console.log(err);
}
return function cleanup() {
setResults({});
};
}, []);
useEffect( async() => {
try {
if (Object.keys(results).length != 0) {
await setStats(results.id)
}
} catch (err) {
console.log("error");
}
return function cleanup() {
setStats({});
};
}, [results]);
我尝试了几种不同的方法来实现这一点,比如使用await将第一个函数调用放在第二个函数声明中,但在mount时仍然达到未定义的状态
函数setStats应该从loadSummonerData函数设置的状态中包含的json对象中获取一个id。
1条答案
按热度按时间bkhjykvo1#
把所有的东西放在第一个useeffect的第一个函数调用中!