Лучше ли поддерживать анимированное значение (fadeAnim
) как свойство состояния или нормально ли оно превращаться в свойство класса?
Пример:
class ModalShade extends React.Component {
fadeAnim = new Animated.Value(0)
render() {
return (
<Animated.View
cls="bg-black absolute-fill"
style={{ opacity: this.fadeAnim }}
/>
)
}
componentDidMount() {
Animated.spring(
this.fadeAnim, {
toValue: 0.6,
tension: 100,
friction: 20
}
).start();
}
}
Разъяснение:
Я знаю, что государство используется для реагирования на сверку. React-native 'Animated
обходят обычный рендер(), поэтому компонент обновляется даже тогда, когда не изменяется состояние.
Я не вижу смысла сравнивать Animated.Value
в моем shouldComponentUpdate
, поэтому я переместил его из состояния.