如何在React Immutability Helpers的同一个集合中使用多个$ splice

时间:2016-06-15 17:47:24

标签: reactjs immutability

所有

当我尝试使用$ splice时,我对React Immutability Helpers很陌生:

  

$ splice 的文档是:

     数组中每个项目的

{$ splice:数组数组}调用splice()on   具有项目提供的参数的目标。

var update = require('react-addons-update');
var collection = [1, 2, {a: [1,2,3,4,5,6]}];
var newCollection = update(collection, {
    2: {
        a: {
            $splice: [
            [1, 1, 33, 44],
            [3, 2, 55, 66],
            ]
        }
    }
});

我认为$ splice数组中的所有操作都应该基于原始目标,以我的代码为例:

[1,1,33,44]将替换为33,44

[3,2,55,66]将用55 66替换4,5

所以最终的罢工应该是[1,33,44,3,55,66,6]

但实际结果是[1,33,44,55,66,5,6],这两个操作似乎是基于以前的操作结果数组。

所以我想知道如何在原始目标上应用所有操作?

谢谢

1 个答案:

答案 0 :(得分:0)

对React Immutability Helpers不太确定,但在JS中通常会使用slice来保持数组的原始值。 splice实际上会修改原始数组,因此任何后续操作都将使用前一个结果执行。