Rumah  >  Soal Jawab  >  teks badan

javascript - Adakah tidak berubah berfungsi dengan bertindak balas untuk meningkatkan prestasi?

Tidakkah cukup dengan membandingkannya dengan PureComponent
Saya rasa jarang sekali rujukan negeri berubah tetapi nilai sebenar tidak berubah

学习ing学习ing2633 hari yang lalu830

membalas semua(3)saya akan balas

  • 过去多啦不再A梦

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

    Saya rasa kelebihan tidak berubah ialah ia tidak berubah dan nilainya tidak akan ditukar secara tidak sengaja di tempat lain. Ia juga boleh dibandingkan dengan cepat tanpa memeriksa lapisan demi lapisan.

    balas
    0
  • 欧阳克

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

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

    Cara biasa:

    const {a, b, c} = obj;

    tidak berubah:

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

    Dan jika ia adalah adegan yang kompleks, kami akan menggunakan redux, kerana pemprosesan data redux itu sendiri tidak boleh diubah, jadi tidak boleh diubah tidak boleh digunakan.

    balas
    0
  • 给我你的怀抱

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

    Tegasnya, menukar data tidak berubah juga akan menyebabkan kehilangan prestasi.
    API sangat mudah untuk membandingkan dan mengubah suai data yang sangat mendalam

    reducer.js

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

    balas
    0
  • Batalbalas