在React

时间:2015-10-02 07:17:23

标签: javascript reactjs css-animations

我在我的React应用程序中使用了一些CSS动画,但我只有一些节点动画有问题,因为其余部分没有被重新渲染,而是在渲染功能中被回收。因此,他们不会按预期显示CSS动画。有没有办法强制React重新渲染节点而不是重用它们?

1 个答案:

答案 0 :(得分:1)

CSS动画取决于类或样式的变化。为了让您的动画发生,您需要更改其中的任何一个,这将强制反应重新渲染。所以我不希望this.forceUpdate()发挥作用。

在列表中,反应重新使用组件(例如,如果您重新排序列表中的项目)。例如。如果你有一个清单:

<li>1. Cat</li>
<li>2. Mouse</li>
<li>3. Dog</li>

然后你将它们重新排序为:

<li>2. Mouse</li>
<li>1. Cat</li>
<li>3. Dog</li>

默认情况下,React不会交换<li>个项目。但是更改<li>项内的文本(因为这是一个更轻的DOM更新)。 要强制响应以交换项目,您需要为每个组件提供密钥。 反应网站的进一步说明:https://facebook.github.io/react/docs/multiple-components.html#children

如果您可以分享一些代码,这将使您更容易理解您的具体问题。