【发布时间】:2019-03-01 14:31:09
【问题描述】:
我在 React 页面上有一张图片。当状态更新为新图像时,我想执行以下过渡效果:
- 原始图像应放大和淡出
- 新图像也应该放大和淡入
效果应该类似于穿过墙壁进入新场景。
我如何在 React 中做到这一点?
【问题讨论】:
-
给 react-pose 一个旋转popmotion.io/pose
-
这更像是一个 CSS 问题。更改元素的 className,并使用 CSS 过渡对其进行动画处理
-
@Mikkel 好吧,除了 React 重新渲染页面时,旧图像消失了,新图像处于状态。所以,一个合适的解决方案应该是 React 和 CSS 的结合。可能与 componentWillUpdate 结合 CSS 有关,但事实证明它比我想象的要困难一些。
-
@azium 不确定这是否适合我。如果不需要,我宁愿不使用第三方库。另外,我似乎找不到任何关于它能够处理状态变化之间转换的信息。
-
听起来你正在用新图像替换状态中的图像,导致 React 重新渲染并立即删除旧图像,因此会破坏任何随之而来的过渡。尝试在不删除旧图像的情况下将新图像添加到状态中,然后对两个图像进行动画处理,然后从状态中删除旧图像?
标签: javascript css reactjs css-transitions