使用 React Immutability Helpers 处理多重突变的正确方法

Proper Way to handle Multiple Mutations with React Immutability Helpers

为了提高效率,我正在尝试使用 React 的不可变性助手来改变状态,一切似乎都很好。我的问题是我想一次性在某些数组上同时执行 $splice$merge,但我不确定怎么做。

看来:

var newState = React.addons.update(this.state, 
  cards: {$splice: [[0, 1]]},
  cards: {$push: this.pickNextCards(1)}
});
setState(newState);

行不通,我已经尝试了一些变体,但似乎也行不通(第二个命令总是覆盖第一个)。我假设 (?) 这必须分两步完成。

为 speed/readability 执行此操作的 'best practice' 方法是什么?我应该在第二次操作中直接更改 newState 吗?这会导致性能不佳吗?

尝试:

var newState = React.addons.update(this.state, 
  cards: {
    $splice: [[0, 1]],
    $push: this.pickNextCards(1) 
   }
});

我制作了一个 fiddle 示例。检查一下!