动画 CSSTransition 反应
Animation CSSTransition React
使用 CSSTransition 组件和 React 我想应用淡入动画
在这里你可以找到我想要实现的一个小例子:https://codesandbox.io/s/j75712qjvy
在首次加载时,文本会淡入淡出,但在单击下面的某些按钮时不会再淡入。
每次单击一个按钮时,状态都会更新并且组件会重新呈现。
所以我的期望是 fadeIn 动画应该重新启动。
我忽略了什么?
您不需要 CssTransition 来实现此效果。只需 CSS 并在元素上使用 key
属性 即可完成。
关键代码段是你的元素:
<h2 className="fadeIn" key={this.state.value}>
{this.state.value}
</h2>
我添加了 key
和 className
道具。这告诉 React 在密钥更改时替换它。
接下来是关联的CSS:
.fadeIn {
animation: 1s fadeIn;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
这会在每次重新呈现元素时应用淡入淡出的动画。
注:只需要react-transition-group
实现退出转场效果即可。没有它也可以轻松处理入口过渡效果。
使用 CSSTransition 组件和 React 我想应用淡入动画
在这里你可以找到我想要实现的一个小例子:https://codesandbox.io/s/j75712qjvy
在首次加载时,文本会淡入淡出,但在单击下面的某些按钮时不会再淡入。
每次单击一个按钮时,状态都会更新并且组件会重新呈现。 所以我的期望是 fadeIn 动画应该重新启动。
我忽略了什么?
您不需要 CssTransition 来实现此效果。只需 CSS 并在元素上使用 key
属性 即可完成。
关键代码段是你的元素:
<h2 className="fadeIn" key={this.state.value}>
{this.state.value}
</h2>
我添加了 key
和 className
道具。这告诉 React 在密钥更改时替换它。
接下来是关联的CSS:
.fadeIn {
animation: 1s fadeIn;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
这会在每次重新呈现元素时应用淡入淡出的动画。
注:只需要react-transition-group
实现退出转场效果即可。没有它也可以轻松处理入口过渡效果。