Javascript 我需要帮助理解React应用程序中的类型错误?

Javascript 我需要帮助理解React应用程序中的类型错误?,javascript,reactjs,Javascript,Reactjs,我正在尝试复制看板。我有下面的代码块,它给出了一个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

我正在尝试复制看板。我有下面的代码块,它给出了一个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);
不管出于什么原因,右箭头调用moved left方法,我将对此进行分析。因此,如果index1==0,它就不能再减小了。moveRight函数也将进行相同的更改,但是,如果(index1!==index1.length-1),则会进行更改


谢谢大家的帮助。

是什么代码导致了该错误?请参阅本帮助中心文章-如果我试图将看板上的某个项目向右移动,我会得到返回到该函数的列出的错误。@Josepch能否验证第61行中的内容?错误显示为
-1
,但您的代码片段显示为
+1
。如果它是
-1
,那么你是否为
index1
传递了0?意外地复制了错误的函数,只是更正了它。
index1
是一个数字吗?我在上面的github中发布了一个指向目录的链接,上次我发布了可能需要一些“版主”的数量进来告诉我,无论他们的理由是什么,我都不应该发布那么多代码,他们应该知道我是stackoverflow的新用户。我不知道如何在评论中正确发布代码。我尝试了“``”:render(){return({this.state.boards.map((item,I)=>{return})}