normalizr 模式中的嵌套数组
Nested arrays in normalizr schema
我需要规范化这些数据,这样我就有了一个列表数组和另一个待办事项。
const data = [
{
_id: '1',
title: 'List1',
todos: [
{
_id: "11",
text: "Test1"
}
]
},
{
_id: '2',
title: 'List2',
todos: [
{
_id: "22",
text: "Test2"
}
]
}
];
这是我得到的:
const todo = new schema.Entity('todos',{},{ idAttribute: '_id'});
const list = new schema.Entity('lists',{todos:todo},{idAttribute: '_id'});
const normalizedData = normalize(data, list);
console.log(normalizedData);
我一直在尝试他们的示例,但其中 none 似乎适用于此数据。
如有任何帮助,我们将不胜感激。
您需要告诉架构 todos
是一个 todo
的数组并且您的输入数据是一个数组:
const list = new schema.Entity('lists', { todos: [ todo ]}, { idAttribute: '_id' });
const normalizedData = normalize(data, [ list ]);
或
const list = new schema.Entity('lists', { todos: new schema.Array(todo) } , { idAttribute: '_id' });
const normalizedData = normalize(data, new schema.Array(list));
我需要规范化这些数据,这样我就有了一个列表数组和另一个待办事项。
const data = [
{
_id: '1',
title: 'List1',
todos: [
{
_id: "11",
text: "Test1"
}
]
},
{
_id: '2',
title: 'List2',
todos: [
{
_id: "22",
text: "Test2"
}
]
}
];
这是我得到的:
const todo = new schema.Entity('todos',{},{ idAttribute: '_id'});
const list = new schema.Entity('lists',{todos:todo},{idAttribute: '_id'});
const normalizedData = normalize(data, list);
console.log(normalizedData);
我一直在尝试他们的示例,但其中 none 似乎适用于此数据。
如有任何帮助,我们将不胜感激。
您需要告诉架构 todos
是一个 todo
的数组并且您的输入数据是一个数组:
const list = new schema.Entity('lists', { todos: [ todo ]}, { idAttribute: '_id' });
const normalizedData = normalize(data, [ list ]);
或
const list = new schema.Entity('lists', { todos: new schema.Array(todo) } , { idAttribute: '_id' });
const normalizedData = normalize(data, new schema.Array(list));