我有以下功能:
filterList(event) {
var updateList = this.state.initialItems;
updateList = updateList.filter(function(item) {
return item.search(event.target.value) !== -1;
});
this.setState({currentItems: updateList });
}
如果我们通过引用传递不是updateList和this.state.initialItems指向同一个东西?
我如何制作this.state.initialItems的副本?
答案 0 :(得分:2)
如果我们通过引用传递isn&t更新列表和 this.state.initialItems指向同一个东西?
没有。您正在返回一个全新的数组(每MDN):
filter()方法创建一个包含所有传递元素的新数组 由提供的函数实现的测试。
答案 1 :(得分:1)
要创建一个没有引用的新数组,您也可以使用spread运算符。 例: var updateList = [... this.state.initialItems];
上面的代码将创建一个没有前一个引用的新数组。