Spread运算符的行为与使用大型数据集的concat不同?

时间:2017-06-21 15:13:40

标签: javascript node.js

这可能听起来像一个非常奇怪的问题,因为它是。但我正在研究一个在Node.js(v6)中处理非常大的数据集的项目。我们从数据库中查询大量事件并在内存状态中构建不可变的事件。但是当我使用[...state, item]代替[].concat(state, item)时,我似乎错过了一个项目。它每次都不一样。任何人对此都有任何想法吗?

使用redux更新状态(我替换了命名,因为它是公司代码):

function updateItem(state, action) {
  const { a, b, c, d } = action.payload.fields;
  const obj = { type: 'TYPE', a, b, c, d };

  return [...state, obj];
}

这些项来自一个由mysql查询触发的Node.js事件发射器。

0 个答案:

没有答案