css - 在 react-redux 中使用三元运算符时将动画应用于替换的内容
问题描述
我正在使用三元运算符来显示加载微调器,然后再将其替换为实际内容。下面的代码在 Firefox 和 Chrome 中正常工作,但是动画继续在 IE 中的替换内容上发生。
这将导致替换的内容像加载器一样旋转:
<div className="wrapper">
{isFetching ? <div className="loader large" /> : <div>{children}</div>}
</div>
这解决了这个问题:
<div className="wrapper">
{isFetching && <div className="loader large" />}
{!isFetching && <div>{children}</div>}
</div>
这也解决了这个问题(防止自我关闭 div):
<div className="wrapper">
{isFetching ? <div className="loader large">a</div> : <div>{children}</div>}
</div>
加载器 SASS:
.loader {
animation: spin 1s linear infinite;
border: .5rem solid $grey;
border-radius: 50%;
border-top: .5rem solid $loader-border-color;
height: 2rem;
position: absolute;
right: 2rem;
top: 7.2rem;
width: 2rem;
z-index: 10;
&.large {
height: 7rem;
margin: auto;
position: relative;
right: 0;
top: 0;
width: 7rem;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
}
我最初的想法是加载器 div 正在被修改而不是被删除并创建了一个新的 div。我知道我有两个解决问题的方法,但我想知道为什么会这样,因为该项目使用了很多三元运算符,并且全部替换它们会带来不便。
解决方案
推荐阅读
- python - 错误:找不到满足要求 cffi>=0.6 的版本(来自 weasyprint->-
- python-3.x - 安装 pip3 时出错 install psycopg2: ld: 'library not found for -lssl'
- python - 当我尝试提交表单时,SelectField 产生 [Not a valid choice] 错误
- javascript - GoogleSpreadsheet 不是构造函数错误
- virtual-machine - 如何修复 VirtualBox 中的 vm 导出错误?
- java - JGRASP 中的 HelloWorld 编译时出错
- node.js - Node js关于调试的问题 - Using Koa for Cadence-web
- node.js - 如何检索所有用户令牌并将 FCM 发送给所有人
- python - 我如何使用 python 获得获取服务器时间?
- c# - 在其他类/方法中使用类/方法中的变量