reactjs - 在页面上和路由时显示动画
问题描述
我有一个 React 应用程序,当用户单击提交按钮以等待服务调用 PUT 完成时,它会显示加载屏幕。然后,它们被路由到下一页。在下一页上,它会在等待服务调用 GET 完成时显示另一个加载屏幕。
目前我有一个启动和停止这个动画的减速器。唯一的问题是,它永远不会进入下一页,因为我在路由上显示动画组件。我需要在路由时显示动画。
我有一个名为 Interstitial 的自定义组件(我的动画组件)。我怎样才能在主页上显示这个动画,通过页面路由,到下一页,所以它看起来像一个连续的加载屏幕,而不是三个单独的加载屏幕。
render() {
if (isWaiting) {
return <Interstitial />; //this is my animation
} else {
return (
<Template>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/verify-changes" component={VerifyChanges} />
<Route path="/confirm" component={Confirm} />
</Switch>
</Template>
);
}
}
解决方案
通过在 return 内部添加 switch 语句而不是作为第二个 return 解决了这个问题。
{this.props.isWaiting ? <Interstitial /> : null}
推荐阅读
- c# - 带有实体框架 6 的 MySql:子表的二进制(18)到字节 [] 转换失败
- json - 为什么这个 JSON 对象会针对这个 JSON 模式进行验证?
- c# - c# 中的 Windows 窗体应用程序用于在线/离线数据更新
- javascript - addEventListener:为什么我不能用“keydown”替换“mousedown”?
- java - 为什么我会收到 Json Malformed Exception
- r - 在 HTML kable 表中打印换行符
- r - 将 sf 对象列表转换为一个 sf
- sql - 通过非透视表中的模糊匹配计算不同的值
- xml - 使用 PSCX Convert-XML 将 XML 转换为 HTML 的语法是什么?
- php - 服务器上 Laravel 文件夹的正确权限