javascript - 在 React 中为有条件渲染的组件设置动画
问题描述
我有一个功能组件,它根据道具是否未定义来呈现 div X 或 divY。
功能组件:
const InfoHeader = (props) => {
const {population, infected, recovered, deaths, active} = props
return(
//check if props are undefined
!(Object.values(props).every(element => element !== undefined))
?
<div className="infoHeader-landing">
///render this div if props are undefined
</div>
:
<div className="infoHeader-wrapper">
///render this if props are not undefined
</div>
)
}
export default InfoHeader
当用户登陆页面时,道具将始终未定义,直到他/她与地图的一部分进行交互。infoHeader-landing
一旦用户点击地图的一部分,我基本上想动画出来。
InfoHeader
我已经尝试在父组件上设置一个动画状态,一旦用户单击地图并有条件地为我想要动画的 div 提供一个类名,它就会呈现并将其设置为 true。就像是
<div className={props.animate ? "infoHeader-landing-slideOut" : "infoHeader-landing"}/>
我认为这是因为我正在重新渲染整个组件,因此动画不适用,但我不确定如何在这种情况下达到我的目标,可能使用 useEffect?。
动画将非常简单,例如:
.infoHeader-landing-slideOut {
animation-name: slideUp;
animation-duration: 1s;
}
@keyframes slideUp {
from {
height: 30%;
}
to {
height: 0%;
}
}
任何帮助都会很棒,
谢谢
解决方案
推荐阅读
- html - 为什么模态弹出窗口破坏了 html 引导
- java - 添加依赖项后出现 Spring Data REST 问题
- python - numpy.polyfit 返回不同曲线的系数
- sql - 有什么方法可以获取 PostgreSQL 中第一个、第二个、第三个表的名称?
- vuejs2 - vue js通过全局事件总线传递数据不起作用
- java - 无法将具有公共 ID 和基本 URI tomcat/lib/jstl-1.2 的 XML 资源 [null] 解析为已知的本地实体
- c++ - 在类的构造函数中动态创建库对象
- c# - IdentityServer4.Stores.ValidatingClientStore 客户端配置无效...客户端没有指定允许的授权类型
- java - 使用 maven 通过双击构建可运行的 jar
- php - RewriteRule 指向 index.php