Почему денормализовать не вернуть вложенный объект? - PullRequest
1 голос
/ 24 мая 2019

Я использую denormalize из normalizr пакета в качестве следующего кода:

import { normalize, schema, denormalize } from 'normalizr';

const categoriesData = [
  { id: 1, name: 'category-1' },
  { id: 2, name: 'category-2' },
  { id: 3, name: 'category-3' },
  { id: 40, name: 'category-40' },
];

const subCategoriesData = [
  { id: 1, name: 'sub-category-a', category: 1 },
  { id: 2, name: 'sub-category-b', category: 2 },
  { id: 3, name: 'sub-category-c', category: 1 },
  { id: 4, name: 'sub-category-d', category: 3 },
  { id: 500, name: 'sub-category-e', category: 40 },
]

const category = new schema.Entity('categories');
const categories = new schema.Array(category);

const subcategory = new schema.Entity('subCategories');
const subcategories = new schema.Array(subcategory);

const normalizedData = normalize(categoriesData, categories);
const denormalizedData = denormalize(normalizedData.result, categories, normalizedData.entities);

console.log({ normalizedData });
console.log({ denormalizedData });

const normalizedData2 = normalize(subCategoriesData, subcategories);
const denormalizedData2 = denormalize(normalizedData2.result, subcategories, normalizedData2.entities);

console.log({ normalizedData2 });
console.log({ denormalizedData2 });

Вывод denormalizedData2 равен

{id: 1, name: "sub-category-a", category: 1},
...

И я ожидал, что будет:

{id: 1, name: "sub-category-a", category: { id: 1, name: 'category-1' } },
...

Как использовать normalizr для достижения цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...