我正在尝试使用Normalizr来规格化和反规格化我在angular ngrx应用程序中使用的对象。
我在这里找到了几乎所有的解决方案:https://www.snip2code.com/Snippet/1028240/Deep-nested-tree-normalize-with-normaliz
import {normalize, Schema, arrayOf} from 'normalizr';
var data = [
{
"id": 1,
"name": "О компании",
"children": [
{
"id": 5,
"name": "Руководство",
"children": [
{
"id": 6,
"name": "Генеральный директор",
"children": [
{
"id": 20,
"name": "Зам гендира"
},
{
"id": 8,
"name": "Секретарша"
}
]
},
{
"id": 7,
"name": "Главный бухгалтер",
"children": [
{
"id": 21,
"name": "Зам главбуха"
}
]
}
]
}
]
},
{
"id": 2,
"name": "Вакансии",
"children": [
{
"id": 9,
"name": "Фронтенд-разработчик (JS)"
},
{
"id": 10,
"name": "Бэкэнд-разработчик (Java)"
},
{
"id": 11,
"name": "Оператор ЭВМ"
}
]
}
];问题是,下面的解决方案中的许多函数都发生了变化,对于我来说,将相同的解决方案用于更新版本的normalizr有点困难。也许你们中的一些人知道如何将下面的解决方案重写为新的规范化?
var node = new Schema('nodes');
node.define({
children: arrayOf(node)
});
var treeSchema = arrayOf(node);
var normalizedData = normalize(data, treeSchema);
console.log(normalizedData);发布于 2019-03-10 03:49:59
您正在查看一个使用过时版本的Normalizr的示例。尝试读取the docs以获取新的API
发布于 2019-03-10 03:58:31
我做到了:)
const node = new schema.Entity('nodes');
node.define({
children: [node]
})
const treeSchema = [node];
const normalizedData = normalize(this.form,treeSchema);https://stackoverflow.com/questions/55081208
复制相似问题