Javascript 将元素添加到react中列表内的列表中
我的状态有以下变量: 此.state={Javascript 将元素添加到react中列表内的列表中,javascript,reactjs,Javascript,Reactjs,我的状态有以下变量: 此.state={ playerList: { player: [ { playerAlias: [ { name: null } ],
playerList: {
player: [
{
playerAlias: [
{
name: null
}
],
idPlayer: null,
playerName: null,
broadcastChannel: null,
clusterName: null
}
]
}
}
我想将playerAlias添加到我的playerAlias列表中,我采用了以下方法:
insertAliasToList = () => {
let insertedAlias = {
name: this.state.newAlias
}
this.setState(prevState => ({
...prevState,
playerList: {
...prevState.playerList,
player: {
...prevState.playerList.player,
playerAlias: [...prevState.playerList.player.playerAlias, insertedAlias]
}
}
}))
}
但是,出现以下错误:
未捕获的TypeError:传播不可iterable实例的尝试无效
提前感谢。这是因为您正在对数组使用对象语法。在这一行中:
playerAlias: [...prevState.playerList.player.playerAlias, insertedAlias]
prevState.playerList.player
是一个数组,因此不能在其上使用点符号。如果要将新的播放器别名添加到第一个播放器,则必须使用索引符号指定:
playerAlias: [...prevState.playerList.player[0].playerAlias, insertedAlias]