[英]I need help understanding a TypeError in a React app?
我正在尝试制作看板克隆。 我有以下代码块,它给出了 TypeError
59 | moveItemLeft(index1,index2) {
58 | console.log(index1,index2)
60 | let newArr = this.state.boards.slice();
61 | let arrItem = newArr[index1].list[index2];
62 | newArr[index1].list.splice(index2, 1);
63 | newArr[(index1-1)].list.push(arrItem);
64 | this.setState({
65 | boards: newArr,
66 | })
}
我不断收到的错误是
TypeError: newArr[(index1 - 1)] is undefined
moveItemLeft
C:/Users/claude/documents/codecademy/premium/reactjs/triplebyte-trello/src/BoardContainer/BoardContainer.js:61
在第 61 行。我不明白为什么我会收到那个错误,代码应该可以工作。
任何人都可以帮忙吗?
如果没有更多的代码行,我无法在您的问题中得到清晰的场景。 但是,我在这里的理解是,当第 61 行被解释时数组是空的,然后它正在获取值。 请尝试将第 61 行放在 63 之后。
我解决了第 63 行的问题我做了以下事情:
if(index1 !== 0) newArr[(index1-1)].list.push(arrItem);
无论出于何种原因,右箭头都会调用向左移动的方法,我会弄清楚的。 所以如果 index1 == 0,它就不能再减少了。 对 moveRight 函数进行相同的更改,但是,它将是 if(index1 !== index1.length - 1)。
感谢大家的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.