私は最近、redux の勉強を始めました。数時間後、大規模な Web アプリケーションでの redux のパフォーマンスについて疑問が頭に浮かびました。
私の質問は、redux は時間の経過とともにストアの以前の状態を維持するため、アプリケーションが十分に大きく、時間の経過とともに十分な量の状態変化があるとしましょう。以前のすべての状態を維持する時間は?
参考:ガベージコレクションのJavaの背景に基づいて考えており、しばらくしてから未使用のメモリを解放しています。
私は最近、redux の勉強を始めました。数時間後、大規模な Web アプリケーションでの redux のパフォーマンスについて疑問が頭に浮かびました。
私の質問は、redux は時間の経過とともにストアの以前の状態を維持するため、アプリケーションが十分に大きく、時間の経過とともに十分な量の状態変化があるとしましょう。以前のすべての状態を維持する時間は?
参考:ガベージコレクションのJavaの背景に基づいて考えており、しばらくしてから未使用のメモリを解放しています。
immutable.jsによって提供されるような不変のデータ構造を使用すると仮定すると、参照を追跡する以外に、既存のデータ構造を追加または更新するときに以前の状態を記憶するための追加コストはありません。これは、不変データ構造を使用する大きな利点の 1 つです。もちろん、状態の変更が完全な状態を別のものに置き換えることで構成される場合、これらの利点は軽減されます。
とはいえ、以前の状態を追跡する必要はありません。不変のデータ構造を使用する方がはるかに簡単で効果的です。
また、Redux はデフォルトで以前の状態を覚えていません。これは、あなたが目指していると思われる「タイムトラベル」機能を提供する redux devtools でのみ使用されます。これは、開発中に非常に便利です。