gpt4 book ai didi

javascript - Normalizr v3 和 JSON api

转载 作者:太空宇宙 更新时间:2023-11-04 16:10:48 25 4
gpt4 key购买 nike

我想标准化从 API 收到的响应。典型的响应可能如下所示:

// Get all projects
{data:[
{
id: 1
...
team:{
data: {
id:15
...
}

}
},
{
id:2,
....
},
{
id:3,
...
}
]}

如何编写架构以便删除“数据”容器?目前,我的架构如下所示:

export const project = new schema.Entity('projects', {
team: team, // team omitted
},
{
processStrategy: (value, parent, key) => parent.data
}
)

export const arrayOfProjects = new schema.Array(project)

我使用它的方式如下:

const normalizedProjects = normalize(jsonResponse, arrayOfProjects)

标准化项目然后看起来像这样:

{
entities:{
projects:{
undefined:{
0:{
team:{
data:{
id:15,
...
}
}
},
1:{...},
2:{...}.
...
50:{...},
}
}
},
result:[] // length is 0
}

我也不确定为什么项目列表包含在“未定义”中?

最佳答案

我还使用 json_api 架构。这样怎么样?

const projectsSchema = new schema.Entity('projects', {}, {
processStrategy: processStrategy
});

export const processStrategy = (value, parent, key) => {
const attr = value.attributes;
delete value.attributes;
return { ...value, ...attr };
};

export const fetchProjectsSchema = {
data: [projectsSchema]
}

关于javascript - Normalizr v3 和 JSON api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41521920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com