我有一个由struct world
: std::enable_shared_from_this<world>
{
struct sky {} my_sky_;
/// returns a shared_ptr to my sky object, which shares its lifetime
/// with this world.
std::shared_ptr<sky> as_sky()
{
return std::shared_ptr<sky>(shared_from_this(), std::addressof(my_sky_));
}
};
表示的对象数组。如何在位置this.state.blocks
的新数组中插入新对象?这是我到目前为止,但我收到错误
错误:update():$ push的预期目标是一个数组;得到了[对象 对象。
pos
答案 0 :(得分:2)
$push
将元素附加到数组的末尾,您需要$splice
:
this.setState({
blocks: update(this.state.blocks, {$splice: [[pos, 0, obj]]})
})
会将obj
插入this.state.blocks
pos
指定的索引(首先删除0项)。splice
根据规范运作:
<强>的startIndex:强> 开始更改数组的索引(原点为0)。 如果大于数组的长度,实际的起始索引将是 设置为数组的长度。如果否定,将开始那么多 最后的元素。
所以只要startIndex
在数组长度