我正在将JSON API规范与json-api-normalizer package一起使用。在使用包含的关联规范化单个对象时,我遇到了一个难题。例如:我有一间餐厅,有很多菜单。唯一的障碍是,当数据标准化后,我需要检索现在嵌套的单个餐厅,并且只能通过知道它的键来检索它,在这种情况下,它是id。这导致我问我是否在错误的位置对数据进行了规范化。现在,我正在用reducer进行成功检索:
case types.FETCH_RESTAURANT_SUCCESS:
return {
...state,
data: normalize(action.payload, { camelizeKeys: false }),
error: null, loading: false,
};
在什么地方以及什么是对数据进行规范化的最佳方法,以使我从本质上不会被束之高阁?这是归一化状态的输出:
{
restaurant: {
data: {
restaurant: {
123: {...}
},
menus: {
345: {...},
678: {...}
}
}
}
}
答案 0 :(得分:0)
IMO,这仅在数据变得非常庞大时才是问题,否则您可以在易于维护以利于自己的地方对其进行标准化。但是,如果它变得很大,我认为您需要设计一些延迟加载并考虑您的业务规则。仅在需要时渲染和规范化。