【发布时间】:2019-07-30 22:48:15
【问题描述】:
无法弄清楚如何添加具有多个页面对象的新想法元素。此外,当我添加具有唯一 id 的新想法元素时......我还需要将页面对象连接到现有的想法元素。我将如何使用扩展运算符进行过滤以检查想法元素是否存在,然后连接页面对象,否则添加新元素? 这是我的结构默认数据示例:
ideaID1: { 0:{title:'first', desc:'abc'}
1:{title:'second', desc:'lmn'}
2:{title:'third', desc:'pqr'}
}
ideaID2: { 0:{title:'first', desc:'abc'}
1:{title:'second', desc:'pqr'}
2:{title:'third', desc:'lmn'}
}
我想先添加ideaID1(唯一ID),然后在用户保存页面时收到该想法的0、1、2页。所以我需要根据它们属于哪个想法来连接这些页面。有人可以使用扩展运算符帮助我使用缩减器添加一个新想法,然后将页面添加到该想法元素(如果存在)..如果不存在则创建新的?
我收到以下有效载荷并编写了以下减速器
{ideaID: 1, pagePostion: 0, title:'any', desc: 'abc'}
{ideaID: 1, pagePostion: 1, title:'any', desc: 'per'}
case 'ADD_IDEA':
return {
...state,
[action.payload.ideaid]:{
[action.payload.pagePosition]: [...action.payload]
}
}
我将如何连接第二个有效负载并检查ideaID是否存在,然后连接到它:
return { ...state, { ...state[action.ideaid],
[action.payload.pagePosition]: [...action.payload] } }
如果没有找到ideaID怎么办?
【问题讨论】:
-
请使用数组而不是类似数组的对象,除非绝对有理由使用后者(显然不是在这种情况下)。
-
更接近实际问题,您编写的哪些代码不起作用?您能否提供不符合您要求的代码?
-
我已经用更多信息更新了我的问题
-
我如何将第二个有效负载连接到同一个ideaID
标签: redux react-redux reducers