我正在尝试获取调用 useEffect 钩子内的函数的单个元素(基于 ID)。但是,当我想在获取(即 console.log)后访问该对象时,它为空。
这里是我的使用效果获取调用
useEffect(() => {
async function getFacultad() {
fetchFacultad(idFacultad);
console.log(facultad);
setLoading(false);
}
getFacultad();
}, []);
我在一个单独的文件上调用这个 useContext 函数
const fetchFacultad = async (id) => {
try {
await axios
.post(`${url}/facultad/getFacultad/` + id)
.then((res) => {
dispatch({
type: "FETCH_FACULTAD",
payload: res.data,
});
});
} catch (error) {
console.log(error);
}
};
facultad 对象正在正确获取
case FETCH_FACULTAD:
return {
...state,
facultad: payload,
};
...
当我在使用 console.log()(第一张图片)获取后尝试访问对象时,我得到 null
我已经检查过获取是否正确完成。出于某种原因,console.log 在获取完成之前正在执行,因此 facultad 对象为空。