我觉得我可能会过多地对抗Normalizr并且可能误解了我能做什么而不能用它 . 我想采用平面数据结构,并从平面数据中包含的引用构建嵌套树 .

例如,我想作为输入:

const data = [
  {
    "id": 1077,
    "title": "Hello world",
    "children": [{
      "id": 3076
    }]
  },
  {
    "id": 3076,
    "title": "Hello foo",
    "children": [{
      "id": 3077
    }]
  },
  {
    "id": 3077,
    "title": "Hello bar",
    "children": []
  },
  {
    "id": 3078,
    "title": "Goodbye world",
    "children": [],
  }
];

并输出一个嵌套的树表示:

[
  {
    "id": 1077,
    "title": "Hello world",
    "children": [{
       "id": 3076,
       "title": "Hello foo",
        "children": [{
          "id": 3077,
          "title": "Hello bar",
          "children": []
        }]
    }]
  },
  {
    "id": 3078,
    "title": "Goodbye world",
    "children": [],
  }
];

然后,我希望能够在返回服务器之前将树规范化为平面结构 . 我可以想到在Normalizr之外做这个的很多方法,但我希望我可以弯曲Normalizr到我的意志并沿途学习一些东西 .