Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Funktioniert Immutable mit React, um die Leistung zu verbessern?

Reinigt es nicht, es einfach mit PureComponent zu vergleichen?
Ich denke, es kommt selten vor, dass sich die Statusreferenz ändert, der tatsächliche Wert jedoch nicht.

学习ing学习ing2633 Tage vor829

Antworte allen(3)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 10:40:52

    我觉得immutable的好处是不可变,不会出现在其它地方被意外更改值的情况。还有可以快速比较,不需要一层一层的检查。

    Antwort
    0
  • 欧阳克

    欧阳克2017-07-05 10:40:52

    我觉得immutable的好处确实有,不可变、两对象比较都能在一定程度上提高性能。但是这种比较适合需要复杂数据结构同时频繁数据操作。
    如果对于一般的场景,只是增加了复杂度、文件大小。比如获取对象属性const obj = {a: 1, b: 2, c: 3}

    普通方式:

    const {a, b, c} = obj;

    immutable:

    const a = obj.get('a');
    const b = obj.get('b');
    const c = obj.get('c');

    而且如果是复杂场景,我们会使用redux,因为redux本身数据处理就是不可变,所以immutable也不适用。

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-05 10:40:52

    严格说起来immutable转换数据还会带来性能损耗。
    API很方便的可以对于非常深层数据的对比跟修改操作

    reducer.js

    [actions.UPDATE_PROJECT_LIST_AFTER_DELETE]: (state, { data }) => {
      let index = data.index
      return state.updateIn(['dataList',index,'status'], () => 'Deleted')
    }

    Antwort
    0
  • StornierenAntwort