【发布时间】:2021-07-27 16:56:04
【问题描述】:
我有一个应用需要具有动态标头,从获取请求中加载外部文件。
一旦用户登录,他们就会被定向到门户/portal。我已将布局定义为:
export const UserLayout = ({ children }) => <div><Header /><div className="body">{children}</div></div>
这包含一个包含动态链接的标题,然后允许路由通过,因此不会在每次页面更改时加载标题。
export const UserRoutes = () => {
return (
<UserLayout>
<Switch>
<Route path="/portal" exact component={Portal}/>
<Route path="/settings" exact component={Settings}/>
</Switch>
</UserLayout>
);
}
从/login 重定向到/portal 后首先加载标头。
我在 redux 中设置了一个全局加载器,它基本上在获取数据时显示全屏加载动画。
我遇到的主要问题是,如何在一个请求中加载我的应用程序的两个部分?
例如,header 加载 ajax 内容,显示 redux 加载动画,然后停止。然后路由加载,它也显示了一个 redux 加载动画,然后停止。这会产生闪烁效果。
同时拥有主要部分负载和子负载的最佳方法是什么?
【问题讨论】:
-
没有代码很难确定。您可以创建带有虚假 API 请求的代码框,或者至少在您的帖子中包含更多代码以及整个生命周期如何触发加载动画?如何从 REDUX 触发加载动画?是由布尔值变化触发的吗?
-
你的路由数据是否依赖于头部获取的数据?还是它们是两个不同的东西?并添加更多关于您的 api 调用和 redux 设置的代码,这将有助于为您提供正确的 sn-p 代码
标签: reactjs redux react-router-v4