我正在使用 Normalizr 从不同的 API 端点获得相同的响应形状。
const post = new Schema('posts');
const posts = arrayOf('post');
const listResponse = [
{id: 1, text: 'post one'},
{id: 2, text: 'post two'},
];
normalize(listResponse, posts);
/*
{
entities: {
posts: {
1: {id: 1, text: 'post one'},
2: {id: 2, text: 'post two'}
}
},
result: [1, 2]
}
*/
const singleResponse = {id: 1, text: 'post one'};
normalize(singleResponse, post);
/*
{
entities: {
posts: {
1: {id: 1, text: 'post one'}
}
},
result: 1
}
*/
然后我想处理标准化的反应,不管它是怎么来的。
但问题是,对于我得到的单个项目result: 1
而不是数组result: [1]
,它会在我以后的代码中引起一些问题。
现在我必须result
手动标准化为数组,但也许有更好的方法来做到这一点?