我具有以下功能:
handleAddItem(s) {
var key = Object.keys(s)[0];
var value = s[key];
var allItems = {...this.state.items};
allItems[key] = allItems[key];
allItems[key].push({name: value});
var ourItems = {};
ourItems = allItems[key];
ourItems.push({name: value });
this.setState({items: allItems});
}
我意识到我们的Items并不是真的想做什么
javaScript中只有javaScript中的原始图。其他所有内容都是通过引用传递的。通过设置ourItems = allItems[key]
,您可以将ourItems
变量点放在allItems[key]
数组中。它不会复制数组。因此,您实际上将对象推了两次。