Reactjs + Flux:为何合并?

时间:2014-05-22 23:26:03

标签: reactjs reactjs-flux

我正在阅读todoapp-flux示例的来源,在TodoStore.js中我看到了这一点:

function update(id, updates) {
  // original
  // _todos[id] = merge(_todos[id], updates);

  // my version
    _todos[id].complete = updates.complete;
}

我想知道为什么facebook会选择合并两个对象,而不仅仅是改变一个属性的值?这样做有什么好处吗?

1 个答案:

答案 0 :(得分:3)

更新可用于更新除完成之外的属性。例如,在line 161上,文本会更新。

update(action.id, {text: text});

这会更新文字,而不会更改完整版本。对于您的版本,上述内容不会更改文本,并将完成设置为未定义。