我认为 Splice(remove) 方法的工作原理与其实际工作完全相反
I think Splice(remove) method works as exactly opposite of its actual work
我希望只删除 "deleteNumber" 方法中的给定索引。但它做的恰恰相反。它删除除给定索引之外的所有索引。
Javascript代码:
deleteNumber = (index) => {
console.log("index: ", index);
this.setState((state) => {
const numbers = state.numbers.splice(index, 1);
this.storeData('numbers', JSON.stringify(numbers));
return(
{
numbers: numbers,
}
)
})
}
拼接改变给定的数组和returns它删除的元素。
像这样的东西会将状态设置为新的(改变的)数组。
deleteNumber = (index) => {
let numbers = this.state.numbers;
numbers.splice(index, 1);
this.setState({
numbers
});
}
我希望只删除 "deleteNumber" 方法中的给定索引。但它做的恰恰相反。它删除除给定索引之外的所有索引。
Javascript代码:
deleteNumber = (index) => {
console.log("index: ", index);
this.setState((state) => {
const numbers = state.numbers.splice(index, 1);
this.storeData('numbers', JSON.stringify(numbers));
return(
{
numbers: numbers,
}
)
})
}
拼接改变给定的数组和returns它删除的元素。 像这样的东西会将状态设置为新的(改变的)数组。
deleteNumber = (index) => {
let numbers = this.state.numbers;
numbers.splice(index, 1);
this.setState({
numbers
});
}