Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 反应-如果div/span的值更新,如何触发动画?_Javascript_Reactjs - Fatal编程技术网

Javascript 反应-如果div/span的值更新,如何触发动画?

Javascript 反应-如果div/span的值更新,如何触发动画?,javascript,reactjs,Javascript,Reactjs,我有以下问题:我正在开发一个react应用程序,我有一个div,其中包含多个span标记。这些span标记的值是动态变化的,每当这些值发生变化时,我想触发一个动画。当值更改时没有任何问题,动画仅在第一次初始加载期间触发。之后它无法触发。当div容器的值发生变化时,我有没有办法告诉或强制我的应用程序触发动画 下面是我的代码的一个简短示例: <div className="animation"> <span>{value}</span> <span&

我有以下问题:我正在开发一个react应用程序,我有一个div,其中包含多个span标记。这些span标记的值是动态变化的,每当这些值发生变化时,我想触发一个动画。当值更改时没有任何问题,动画仅在第一次初始加载期间触发。之后它无法触发。当div容器的值发生变化时,我有没有办法告诉或强制我的应用程序触发动画

下面是我的代码的一个简短示例:

<div className="animation">
  <span>{value}</span>
  <span>{value2}</span>
</div>

{value}
{value2}

我不知道你的价值观是如何构成的,但我的建议是

制作一个动画跨度组件,并将该值作为道具获取


然后,每当该值发生变化时,span组件将重新渲染,您将看到动画。

我不知道您的值是如何构造的,但下面是我的建议

制作一个动画跨度组件,并将该值作为道具获取


然后,每当该值更改时,span组件将重新渲染,您将看到动画。

值和
值2
置于状态,然后更改状态值,组件将重新渲染

像这样:

   constructor() {
        super();
        this.state = {
        value: 'animation',
        value2: 'animation'
        };
    }

changeAnimation() {
    this.setState({
     value: 'animation2',
     value2: 'animation2'
    })
}

值2
置于状态,然后更改状态值,组件将重新渲染

像这样:

   constructor() {
        super();
        this.state = {
        value: 'animation',
        value2: 'animation'
        };
    }

changeAnimation() {
    this.setState({
     value: 'animation2',
     value2: 'animation2'
    })
}

您可以使用this.setState更新动态值并自动重新渲染。请发布整个组件代码以获得更好的答案。您可以使用this.setState更新动态值并自动重新渲染。请发布整个组件代码以获得更好的答案。