アニメーション値(fadeAnim
)を状態のプロパティとして保持する方が良いですか、それともクラスプロパティにするのはいいですか?React-native:アニメーション値を状態またはクラスプロパティとして保持しますか?
例:
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
の値は通常のrender()をバイパスするので、状態が変化していなくてもコンポーネントは更新されます。
Animated.Value
と私のshouldComponentUpdate
を比較しても意味がありません。そのため、私はそれを状態から移動しました。
アニメーション値を保存するためのベストプラクティスを最終的に見つけましたか?私は同じジレンマを持っていたので私はあなたの質問に達しました。公式の文書の例ではAnimated値を保存するために州を使用していますが、それは非生産的なようです。 – scarmuega
私はインスタンス変数を使用します。 –
ええ、それは私にとって奇妙です。 'react-native'の公式の例では、' Animated.Value'が状態の中に保存されています。私にとっては、コンポーネントのプロパティに 'Animated.Value'が格納されていると、それらの大部分は大丈夫になるはずです。 –