在reducer内部,给定一个状态对象:
var state = {
"data": [{
"subset": [{
"id": 1
}, {
"id": 2
}]
}, {
"subset": [{
"id": 10
}, {
"id": 11
}, {
"id": 12
}]
}]
}
[{"id":1},{"id":2}]
[{"id":4},{"id":5}]
let newSubset = [{"id":4},{"id":5}]
let newState = update(state.data[action.indexToUpdate], {
subset: {
newSubset,
},
})
TypeError: value is undefined
在更新喷泉上。
我一直在查看这里的react ducomentation:https://facebook.github.io/react/docs/update.html,但我真的不知道如何做到这一点。请指教!
您的更新将看起来像
var obj = {"state" : {
"data": [{
"subset": [{
"id": 1
}, {
"id": 2
}]
}, {
"subset": [{
"id": 10
}, {
"id": 11
}, {
"id": 12
}]
}]
}}
return update(obj, {
"state" : {
"data": {
[action.indexToUpdate]: {
"subset": {
$set: [newSubset]
}
}
}
}
})
如果子集中有其他字段,但您只希望更改特定索引中包含其他键的字段,则可以编写
return update(obj, {
"state" : {
"data": {
[action.indexToUpdate]: {
"subset": {
[id]: {$merge: newSubset}
}
}
}
}
})
问题内容: 在reducer内部,给定一个状态对象: 如您所见,数据是一个嵌套数组,每个元素中都有一个数组。 知道action.indexToUpdate将是数据索引,我想以编程方式将data [action.indexToUpdate] .subset更新为新数组。例如,如果action.indexToUpdate = 0,那么data [0]将从 至 为此,我有: 但是当我执行此操作时,它返回
假设我们有以下集合,我对此没有什么问题: > 我想增加“item_name”的价格:“my_item_two”,如果它不存在,应该将它追加到“items”数组中。
问题内容: 我正在使用不变性助手在React状态下更新数组中的对象。 我要修改的对象是嵌套的: 我想使用不变性助手来更新b的第n个元素内的prop c。 没有不变性帮助器的等效代码是: 我知道上面的代码有点难看。我假设使用不变性助手的代码可以解决我的问题。谢谢 问题答案: 一种方法是使用 jsfiddle
我需要更新嵌套在我的用户文档中的一个字段,该字段包含一个part对象数组,以添加新的part。一个part对象如下所示: 所以这意味着$addToset对我的情况没有好处...现在我不知道该怎么办。
问题内容: 我正在尝试更新嵌套数组中的值,但无法使其正常工作。 我的对象是这样的 我需要将值推送到“ answeredBy”数组。 在下面的示例中,我尝试将“成功”字符串推到“ 123 _id”对象的“ answeredBy”数组中,但是它不起作用。 我找到了此链接,但其答案仅表示我应该使用类似结构的对象而不是数组。这不适用于我的情况。我真的需要将我的对象嵌套在数组中 如果您能在这里帮助我,那就太
我正在尝试更新MongoDB中嵌套对象中的一个键值。目前,我的做法是覆盖整个嵌套对象,我如何改变一个键-值对?