2017-04-06 6 views
1

私はちょうど私達がこのreduxにimmutable.jsを使用することのポイントは何ですか?

state = { 
      ...state, 
      width: 'small' 
      }; 

ようReduxの状態を設定することができるので、immutable.jsとその方法(セット、マップ、など)を使用する利点は、から任意の違いがありますされているもの、それを得ることはありません

state.set('width', 'small'); 
+0

あなたはリンゴとオレンジを比較しています。 – WilomGfx

+1

最初のものは変更可能です。 –

+0

最初のものでは '{}'を返すことができますし、 '{width: 'small'}'のように感じたり、何らかの理由でデータ型を変更して '[]'を返すことができます。あなたはそれを何かに変えることができ、何かを間違って入力するとアプリケーションを破壊する可能性があります。 –

答えて

1

はここでReduxので不変使用するには、2つの利点がある:

  1. 開発者は、すべての時間を間違いを犯すと、誤って減速inste状態を変異させることは非常に簡単です。それを複製する広告。バグはしばらくの間「捕まえられていない」状態になり、あなたがそれが最も少ないときにあなたを襲います。 ImmutableJSは、あなたがうんざりした場合、あなたにかなり迅速にエラーを与えます。
  2. パフォーマンス:ImmutableJSは物事の不変な性質を利用し、より良いスペースで追加/削除/修正などの収集操作をサポートできるデータ構造とアルゴリズムを使用することができます。私たちが自分自身で書く必要があるときに私たちがやっているような「コピー」です。
+0

3.便宜: '.setIn(['products'、 'productX'、 'cost')の一部を変更したいネストされた構造体があるときは、 ]、500) '' products'と 'productX'は新しいオブジェクトになりますが、' productY'は手動でその論理をコードする必要はありません(ポイント1に戻ります) – dpwrussell

関連する問題