我在我的React应用程序中使用了一些CSS动画,但我只有一些节点动画有问题,因为其余部分没有被重新渲染,而是在渲染功能中被回收。因此,他们不会按预期显示CSS动画。有没有办法强制React重新渲染节点而不是重用它们?
答案 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
如果您可以分享一些代码,这将使您更容易理解您的具体问题。