Я сделал экран (я называю это «S1») с видом, который переводят справа налево.Это отлично работает.Так как это представление используется в одном и том же месте на разных экранах для навигации между экранами, я бы хотел отключать анимацию каждый раз, когда это представление необходимо воссоздать на других экранах или S1.
Я передаю параметр needToAnimateна каждом экране, и значение всегда хорошее.
Я уже пробовал разные решения: - Я инкапсулирую свое представление либо в a, либо в соответствии с needToAnimate, но только создается, и я не могу понять, почему,- Я также пытаюсь изменить значение начального marginLeft, всегда в соответствии с needToAnimate, но значение всегда одинаково.
Так вы можете мне помочь?
Вот мой код
animatedMarginLeft = this.needToAnimate
? new Animated.Value(screenWidth() - 240)
: new Animated.Value(17);
componentDidMount() {
Animated.timing(this.animatedMarginLeft, {
toValue: 17,
duration: 300,
easing: Easing.linear
}).start();
}
public render() {
console.log(this.needToAnimate);
const leftMenu = this.getleftMenu();
return (
<View style={styles.container}>
<Animated.View
style={[
styles.animation_view,
{ marginLeft: this.animatedMarginLeft }
]}
>
<MyObject/>
</Animated.View>
....