大佬教程收集整理的这篇文章主要介绍了useEffect 未在 ContextProvider 中触发,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在名为 DataProvIDer 的上下文提供程序中使用 useEffect 钩子。在 useEffect 钩子中,我使用 axios 向端点发送请求。但问题是,useEffect 钩子没有触发。在这种情况下我该怎么办。谁能帮我解决这个问题。
上下文提供程序代码:
export const DataProvIDer = ({ children }) => {
const [data,setData] = useState({});
useEffect(() => {
const options = {
method: "GET",url: "https://corona-virus-world-and-india-data.p.rAPIdAPI.com/APi_india",headers: {
"x-rAPIdAPI-key": API_KEY,"x-rAPIdAPI-host": API_HOST
}
};
axios
.request(options)
.then(function(responsE) {
console.log(response.data);
setData(response.data);
})
.catch(function(error) {
console.error(error);
});
},[]);
if(data) {
return (
<DataContext.ProvIDer value={[data,setData]}>
{Children}
</DataContext.ProvIDer>
);
} else {
console.log("error");
}
};
下面是错误图片
请帮我修复这个错误?。
React 首先渲染,并且只有在第一次渲染之后才执行 useEffect。您正在尝试访问尚未初始化的属性。
只需处理您的数据并使用 if
有条件地呈现或在您的卡片容器中执行此操作:
<Cardcontainer casenumber={numberWithCommas(data?.@R_164_10586@l_values?.deaths)}/>
确保 numberWithCommas
知道如何处理未定义的参数。
以上是大佬教程为你收集整理的useEffect 未在 ContextProvider 中触发全部内容,希望文章能够帮你解决useEffect 未在 ContextProvider 中触发所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。