2017-11-24 12 views
1

まず最初に、これは意見の問題ではありません(私はこの質問に誰かが気付くでしょう)、私は技術的背景やこの。なぜReduxアプリケーションのストアはシリアル化可能でなければならないのですか

言い換えれば、Reduxのストアはシリアル化可能である必要があります。モデルクラスを使用してそのインスタンスをストアに書き込むことは許可されていません。これは私にとって非常に迷惑です。アプリケーションロジックは、モデルが良いものになるアクションやレデューサーで終わります。

なぜ私は不思議に思っています。この背後にある技術的決定は何ですか?なぜクラスインスタンスをストアに書き込まないのですか?

+0

あなたが考えているユースケースの例を挙げることはできますか?これは私がReduxを学ぶときに苦労したが、適切に避けることができたものです。 – chautelly

答えて

2

1)インスタンスのクラスが変更可能であるため、不変性を克服して国家の予測可能性を取り上げようとしているのと同じ問題が生じる。また、Reactとのペアリング(突然変異したインスタンスへの参照が内部状態が変更されても同じであるため)を手動で行う必要があります。shouldComponentUpdate

2)不変性により、 (例:タイムトラベルデバッグ時)、インスタンス内で突然変異が発生したときに実行できないこと

3)シリアライゼーションは、JSONから/へのサーバー側のレンダリングとオフライン使用

興味があれば、私はちょうど試験で同様の質問にもっと深い答えを書いたどのように両方の世界の最高のものを使用することが可能かについての質問https://stackoverflow.com/a/47472724/7385246

+0

素晴らしいです、ありがとう! – Lukas

関連する問題