首页 > 解决方案 > 使反应重绘所有组件,或它的一部分

问题描述

我有这行代码

render() {
    return <img class="animated bounceIn" src={this.state.img_source}></img>
}

播放动画。当我通过 setState() 更改 img_source 时,react 仅检测图像源的更改,并更改图片。所以动画不再播放。如何让动画再次播放?

标签: reactjsrender

解决方案


您可以使用 React 组件生命周期方法。

componentDidUpdate将达到目的。

   componentDidUpdate (prevProps, prevState) {
        if (prevState.img_source !== this.state.img_source) {
            // Redo the animation
        }
    }

推荐阅读