Reactjs React插件更新-如何将对象插入到对象数组中?

Reactjs React插件更新-如何将对象插入到对象数组中?,reactjs,Reactjs,我有一个由this.state.blocks表示的对象数组。如何在位置pos处将新对象插入此数组?这是我到目前为止所得到的,但我得到了错误 错误:update():预期$push的目标为数组;得到[反对] 对象] $push将元素附加到数组的末尾,您需要: 将在pos指定的索引处将obj插入此.state.blocks(首先删除0项)。拼接根据规范工作: 开始索引: 开始更改数组的索引(原点为0)。 如果大于数组长度,则实际起始索引将为 设置为数组的长度。如果是负数,将开始那么多 元素从最后开始

我有一个由
this.state.blocks
表示的对象数组。如何在位置
pos
处将新对象插入此数组?这是我到目前为止所得到的,但我得到了错误

错误:update():预期$push的目标为数组;得到[反对] 对象]


$push
将元素附加到数组的末尾,您需要:

将在
pos
指定的索引处将
obj
插入
此.state.blocks
(首先删除0项)。
拼接
根据规范工作:

开始索引: 开始更改数组的索引(原点为0)。 如果大于数组长度,则实际起始索引将为 设置为数组的长度。如果是负数,将开始那么多 元素从最后开始

因此,只要
startIndex
在数组长度内,它就可以正常工作

let newBlocks = update(this.state, {
    blocks: {
        [pos] : {$push: [obj]}
    }
});
this.setState({
    blocks: newBlocks
});
this.setState({
  blocks: update(this.state.blocks, {$splice: [[pos, 0, obj]]})
})