Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 若元素在React.js中更新状态后具有相同的类,则动画不起作用_Javascript_Reactjs - Fatal编程技术网

Javascript 若元素在React.js中更新状态后具有相同的类,则动画不起作用

Javascript 若元素在React.js中更新状态后具有相同的类,则动画不起作用,javascript,reactjs,Javascript,Reactjs,我有一个简单的演示。当你点击一个有find类的框时,我洗牌arr 如果洗牌后findbox位于同一索引,则react似乎不会重置其类,因为动画不起作用 为什么以及如何让它工作? 注意:单击查找框,如果查找框将位于同一索引,您会看到动画将不起作用。这是由于反应的本质造成的。这实际上是一种需要的行为:“如果虚拟DOM和真实DOM之间没有任何变化,那么我们最好什么也不做”: 当找到的索引与上一个索引相同时,那么。。。没有任何更改,因此React不执行任何操作,并且不会播放初始化动画 您需要找到一种方

我有一个简单的演示。当你点击一个有
find
类的框时,我洗牌
arr

如果洗牌后
find
box位于同一索引,则react似乎不会重置其类,因为动画不起作用

为什么以及如何让它工作?


注意:单击
查找
框,如果
查找
框将位于同一索引,您会看到动画将不起作用。

这是由于
反应
的本质造成的。这实际上是一种需要的行为:“如果虚拟DOM和真实DOM之间没有任何变化,那么我们最好什么也不做”:

当找到的
索引与上一个索引相同时,那么。。。没有任何更改,因此React不执行任何操作,并且不会播放初始化动画


您需要找到一种方法来告诉React这个元素上发生了一些变化,需要在DOM上进行更新。
属性通常是执行此操作的方法

顺便说一句,阅读您的代码时,我刚刚意识到存在
绑定
方法的额外参数。对于React事件处理程序非常有用,谢谢@norx:)