利用React Immutability Helpers处理多个突变的正确方法

时间:2016-07-12 18:13:16

标签: reactjs react-native immutability

为了提高效率,我试图使用React的Immutability助手改变状态,一切似乎都很好。我的问题是,我想一次性对某些阵列同时执行$splice$merge,我不确定如何。

看来:

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

没有工作,我尝试了一些似乎也不起作用的变体(第二个命令总是覆盖第一个)。我假设(?)这必须分两步完成。

什么是最佳实践'这样做的速度/可读性?我应该直接用第二次操作改变newState吗?这会导致表现不佳吗?

1 个答案:

答案 0 :(得分:2)

尝试:

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

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