我在我的项目中使用反应运动来制作动画。我解决了每次通过维持状态改变道具时渲染动画的问题。
RedirectMatch ^/(?!specificPath|specificFile.php)(.*) http://target.example.com/$1
我有一个回电,会在完成动画后改变我的状态。这解决了除动画时道具改变以外的所有问题。
让我们说我的动画发生了2秒钟,然后在此之后触发回叫,但如果动画在中间就像1秒钟我的道具改变那么我的动画又从头开始。
我不想使用const {animation} = this.state;
if (animation) {
return (
// updates state upon animatioon to false
<Animator rest={this.rest}>
{this.getContent()}
</Animator>
);
}
return this.getContent();
,因为它会停止更新视图。
那么这种情况通常是如何处理的。是否可以使用shouldComponentUpdate
。还有更好的选择吗?
提前致谢。
答案 0 :(得分:0)
如果动画组件在此组件中呈现(名称为A),则每次重新呈现A时它将从头开始。因此,我认为您可以将动画组件渲染到另一个组件(B)中,该组件是A的兄弟,并且位于具有透明背景的A上,或者仅使用动画组件作为siblling。 A和B可以通过他们的父母或redux进行交流。