Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 登录后在上下文中加载API数据_Reactjs - Fatal编程技术网

Reactjs 登录后在上下文中加载API数据

Reactjs 登录后在上下文中加载API数据,reactjs,Reactjs,我有一堆组件,它们的状态驻留在上下文API中 //App.js 常量应用=()=>{ 返回( ); }; //context.js export const MarketContext=createContext(); const MarketContextProvider=(道具)=>{ const[data,setData]=useState([]); useffect(()=>{ //从API获取数据并存储 const myData=wait getData(); setData(myD

我有一堆组件,它们的状态驻留在上下文API中

//App.js
常量应用=()=>{
返回(
);
};
//context.js
export const MarketContext=createContext();
const MarketContextProvider=(道具)=>{
const[data,setData]=useState([]);
useffect(()=>{
//从API获取数据并存储
const myData=wait getData();
setData(myData);
}, [])
返回(
{props.children}
)
}
问题是,只要用户加载登录页面,就会触发上下文,并且由于用户尚未登录,所有API调用都会导致401。当用户最终登录时,组件(主页、产品、订单)不会显示任何数据,因为它们仍在引用过时的上下文

用户必须在登录后刷新页面才能加载数据。这样,上下文中的API调用将成功触发

如何避免此问题并仅在用户登录后在上下文中加载数据