在状态中嵌套变量上的另一个列表中插入元素

时间:2019-05-22 08:08:06

标签: javascript reactjs

我有这种类型的json:

object:{

   object2:[
    {
      test:[
       {
       }
      ],
      name:''
    }
   ]

}

我要做的是设置某个测试元素的状态,而我所做的就是:

this.setState(prevState => ({
        object: {
            ...prevState.object,
            object2: {
                ...prevState.object.object2[indexObject2],
                test: [
                    ...newTest
                ]
            }
        }
    }))

但是当我这样做时,错误this.state.object.object2.map不是函数。 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试

this.setState(prevState => ({
    object: {
        ...prevState.object,
        object2: {
            ...prevState.object.object2,
            {
                ...prevState.object.object2[indexObject2],
                test: [
                    ...newTest
                ]
            }                
        }
    }
}))

答案 1 :(得分:0)

您正在将object2设置为Object,它应该是Array

object2: {
    ...prevState.object.object2[indexObject2],
    test: [
        ...newTest
    ]
}

应该是

object2: [
    ...prevState.object.object2[indexObject2],
    test: [
        ...newTest
    ]
]