2016-12-01 45 views
2

我试图一次启动多个React Native动画,并为所有动画启动一个回调。这个例子工作正常,但我不喜欢这样的事实,即我必须一个接一个地开始,只有一个带回调的动画。有没有更优雅的方式?立即用React Native启动多个Animated.timing

Animated.timing(this.state.opacity, { 
    toValue: 0, 
    duration: 300 
}).start(); 

Animated.timing(this.state.height, { 
    toValue: 0, 
    duration: 300 
}).start(() => { 
    // callback 
}); 

回答

5

是的,有。你可以使用Animated.parallel

Animated.parallel([ 
    Animated.timing(this.state.opacity, { 
     toValue: 0, 
     duration: 300 
    }), 
    Animated.timing(this.state.height, { 
     toValue: 0, 
     duration: 300 
    }) 
]).start(() => { 
    // callback 
}); 
+0

这就是我正在寻找的!谢谢 –