バックグラウンド
私は React Native と Redux を使用してアプリケーションを構築し、Swift を介した今後のプロジェクトでそれを使用して完全にネイティブにするかどうかを評価しています。
Redux を使用した Dan Abramov の手法は、堅実なエンジニアリングの例であると心から信じています。状態を更新せず、状態の関数としてビューを持つことは素晴らしいことであり、私はそのアイデアに非常に賛成しています。私がいくぶん行き詰まっているのは、アニメーションをミックスに投入することです。
シナリオ
より複雑なアニメーションには、ビューのフェードアウト、テキストの置き換え、フェードインなどの状態管理が必要です。アニメーションの途中でのみテキストを更新したいのですが、これはローカル状態を使用して簡単に行うことができます。アニメーション フレームワーク。
表示されるテキストが状態によって駆動されるとします。状態が適切なアクションとリデューサーの組み合わせによって変更された瞬間に更新されますが、プレゼンテーションのために、これら 2 つのアニメーションの間に必要です。
この例は、選択したレコードの名前を示す画面上のラベルがあるリストからレコードを選択することです。理想的には、グローバル ストアをすぐに更新する必要がありますが、ラベル自体は適切に移行します。
私の考え
私の考えでは、コンポーネント内で「ローカル状態」を使用してアニメーションを処理し、メインの Redux ストアをより全体的なデータまたはアーキテクチャの状態に使用することは、ある程度理にかなっています。問題は、これがビューがグローバルな状態の関数であるという考えを壊していることであり、それが私に合っているかどうかはわかりません。
一方で、たくさんのアクションやリデューサーを書いてストアを散らかしてアニメーション シーケンスなどを管理することも、きれいに感じられません。
質問
React Native はまだ初期段階にあり、誰もが Redux を使用しているわけではありませんが、この種のシナリオでアニメーションを管理する一般的に受け入れられている方法はありますか?