我正在阅读todoapp-flux示例的来源,在TodoStore.js中我看到了这一点:
function update(id, updates) {
// original
// _todos[id] = merge(_todos[id], updates);
// my version
_todos[id].complete = updates.complete;
}
我想知道为什么facebook会选择合并两个对象,而不仅仅是改变一个属性的值?这样做有什么好处吗?
答案 0 :(得分:3)
更新可用于更新除完成之外的属性。例如,在line 161上,文本会更新。
update(action.id, {text: text});
这会更新文字,而不会更改完整版本。对于您的版本,上述内容不会更改文本,并将完成设置为未定义。