2017-04-16 15 views
1

私ができるように、私のReduxのストアに機能(参照)を保存したいと思います:保存された機能を盗ん関数をReduxストアに保存する方法は?

  1. ストア状態に接続されているコンポーネントへの機能の参照を渡す、または
  2. とアクションクリエーターの中で実行してください。

一般的なコンセンサスは、(データは直列化可能であるべきであるため)関数参照をReduxストアに格納しないでください。上記の2つのプロセスを実現するためにこれを回避する方法はありますか? Redux FAQ entry on non-serializable items in stateパー

+0

一般的に推奨されていないことに気にしない場合は、特にどのような問題がありますか?関数参照は値で、他のすべての型の値と同様に処理します。 – zerkms

+0

私は副作用を理解していないと思います。それが勧めていない場合でも、これとは別に、私はそこに代替ソリューションであるか、誰かがそれを知っているパッケージには、これを支援する可能性があるのだろうか。 – JoeTidee

+0

副作用:多くの追加のライブラリ/ツールは、状態がシリアル化可能であるとみなします。そうでなければ、壊れるかもしれません。 – zerkms

答えて

1

非常にあなただけの店に平野直列化可能オブジェクト、配列、およびプリミティブを置くことをお勧めします。技術的には、シリアライズ不可能なアイテムをストアに挿入することは可能ですが、そうすることで、ストアの内容を保持して再水分を補うことができ、タイムトラベルのデバッグを妨げる可能性があります。

あなたが永続性とタイムトラベルデバッグのようなものが潜在的に意図したとおりに動作していないと大丈夫であれば、あなたはあなたのReduxのストアに非直列化可能なアイテムを入れて完全に歓迎されています。最終的に、それはあなたのアプリケーションであり、どのように実装するかはあなた次第です。 Reduxに関する他の多くの事柄と同様に、トレードオフがどのようなものであるかを理解してください。

+0

サードパーティのパッケージでは、ストアが完全にシリアル化可能であるため、アプリケーションが壊れました。 – JoeTidee

関連する問題