Redux和normalizer将单个实体放入数组
我正在使用Redux和normalizer 我的状态看起来像:Redux和normalizer将单个实体放入数组,redux,Redux,我正在使用Redux和normalizer 我的状态看起来像: { entities: { users: { 1: {...}, 2: {...} } }, data: { users: [1,2] } } 我的一个API端点返回一个包含单个用户和一些其他数据的对象: data = { user: {id: 3, ...} otherstuff: {...} } const user = new S
{
entities: {
users: {
1: {...},
2: {...}
}
},
data: {
users: [1,2]
}
}
我的一个API端点返回一个包含单个用户和一些其他数据的对象:
data = {
user: {id: 3, ...}
otherstuff: {...}
}
const user = new Schema('users');
normalize(data, {user: user})
这是回报
{
entities: {
users: {
3: {id: 3, ...}
}
},
result: {
user: 3
}
}
但是,my data reducer希望合并到(ID的)用户阵列中:
理想情况下,我会在标准化过程中解决这个问题,而不是改变减速机。有没有一种简单的方法可以让normalizer将{user:{id:3}}
解析为{result:{users:[3]}
?它已经将实体键更改为用户
如果没有,是否有一个干净、通用的reducer级别的解决方案来解决跨各种实体类型名称的此问题?您是否设法解决了此问题?
function data(state = {}, action) {
if (action.response && action.response.result) {
return deepmerge(state, action.response.result)
}
return state
}