繁体   English   中英

我需要帮助理解 React 应用程序中的 TypeError 吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM