我想通过axios获取数据以设置标头,但是getAxios1和2似乎更慢,然后返回标头需要刷新以重新加载标头。 如何在getAxios1和2之后制作返回标头。
我尝试执行以下代码来逐步获取数据然后输出标头,但仍然无法正常工作。
export const getHeader = (props: IAppProps) => {
const promises = [];
promises.push(getAxios1());
promises.push(getAxios2());
Promise.all(promises).then(d => {
return (<ErrorBoundary>
<Header
isAuthenticated={props.isAuthenticated}
isAdmin={props.isAdmin}
isUser={props.isUser}
isFoPayroll={props.isStaff}
ribbonEnv={props.ribbonEnv}
isInProduction={props.isInProduction}
isSwaggerEnabled={props.isSwaggerEnabled}
/>);
});
答案 0 :(得分:0)
export const getHeader = (props: IAppProps) => {
const [fetched, setFetchStatus] = useState(false);
const [data, setData] = useState(null);
const promises = [];
promises.push(getAxios1());
promises.push(getAxios2());
Promise.all(promises).then(d => {
setFetchStatus(true);
setData(d);
});
// use data
return fetched && (<ErrorBoundary>
<Header
isAuthenticated={props.isAuthenticated}
isAdmin={props.isAdmin}
isUser={props.isUser}
isFoPayroll={props.isFoPayroll}
ribbonEnv={props.ribbonEnv}
isInProduction={props.isInProduction}
isSwaggerEnabled={props.isSwaggerEnabled}
/>);
还添加另一个状态来保存获取的数据。 我已编辑。希望对您有帮助