【发布时间】:2020-05-09 23:06:16
【问题描述】:
我有一个 div,包含球员得分、死亡和助攻:
<div className="liveMatchPlayerScore">
{data.kill_count}/{data.death_count}/{data.assists_count}
</div>
每次击杀或死亡计数发生变化时,我希望文本变为粗体白色 3 秒。
我正在考虑为此使用 react-spring,特别是 useTransitions,但文档显示了使用项目数组的示例。我打算把每个分数放在一个数组中,但这似乎适得其反。
之前我尝试将分数包装在 react-spring 的“Spring”组件中,但这只会在初始渲染时对分数进行动画处理 - 而不是在更新时进行动画处理。
如何使kill_count 和death_count 在更改值后变为白色3 秒?
谢谢
我使用了@PeterAmbruzs 解决方案,但我似乎得到了奇怪的数字。例如在下面的图像中,首先分数是 0/0/0,第一个数字增加 1。它没有变成 1/0/0,而是变成了 01/0/0。出于某种原因,我的数字也高得离谱。有谁知道为什么会发生这种情况?
【问题讨论】:
-
使用 react-transition-group 怎么样? (github.com/reactjs/react-transition-group/tree/v1-stable)
-
所以基本上使用 react-transition-group 我只需将杀死和死亡计数包装在
<CSSTransitionGroup>中并指定我想要的更改?我似乎找不到颜色变化的值。 -
你可以使用 css 做基本的,当你收到 props 时更改类名
-
@mba3gar 你能更深入地解释一下吗?
-
让我给你看一个例子,首先确保你的数据已经在状态中注册,然后根据你的上下文或视图将每个元素包装在 ap 或 span 中,并根据它给它一个类名它是当前状态,例如
<p className={${this.state.count > 1} ?blackColor:whiteColor}> </p>
标签: javascript css reactjs animation react-spring