Javascript shouldComponentUpdate的更好替代方案
我在我的项目中使用react motion制作动画。我通过保持状态解决了每次道具改变时渲染动画的问题Javascript shouldComponentUpdate的更好替代方案,javascript,animation,reactjs,web,browser,Javascript,Animation,Reactjs,Web,Browser,我在我的项目中使用react motion制作动画。我通过保持状态解决了每次道具改变时渲染动画的问题 const {animation} = this.state; if (animation) { return ( // updates state upon animatioon to false <Animator rest={this.rest}>
const {animation} = this.state;
if (animation) {
return (
// updates state upon animatioon to false
<Animator rest={this.rest}>
{this.getContent()}
</Animator>
);
}
return this.getContent();
const{animation}=this.state;
if(动画){
返回(
//将动画打开时的状态更新为false
{this.getContent()}
);
}
返回这个.getContent();
我有一个回拨,将改变我的状态后完成动画。这解决了所有问题,除了道具改变动画
让我说我的动画发生了2秒,然后回调被触发,但是如果动画在中间像1秒和我的道具改变,那么我的动画从一开始就开始了。 我不想使用
shouldComponentUpdate
,因为它将停止更新视图
那么这种情况通常是如何处理的呢。是否可以使用shouldComponentUpdate
。是否有更好的替代方案
提前感谢。如果在该组件中渲染动画组件(名称为A),则每次重新渲染A时,它都将从头开始。因此,我认为可以在另一个组件(B)中渲染动画组件,该组件是a的同级,位于a上,具有透明背景,或者只使用动画组件作为同级。A和B可以通过其父级或redux进行通信。如果动画组件在该组件中渲染(名称为A),则每次重新渲染A时,它都将从开始开始开始。因此,我认为可以在另一个组件(B)中渲染动画组件,该组件是a的同级,位于a上,具有透明背景,或者只使用动画组件作为同级。A和B可以通过其父级或redux进行通信。您是否使用
组件WillReceiveProps
来处理道具更改?还是有东西直接绑定到道具上?@BradBumbalough上面的代码在我的渲染函数中,当我的道具更改时渲染。您是否使用component willreceiveprops
来处理道具更改?还是有东西直接绑定到道具上?@BradBumbalough上面的代码在我的渲染函数中,当我的道具发生变化时渲染