首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将'entities‘的子对象上移到顶层,并在normalizr中重命名'results’对象?

在normalizr中,可以通过使用schema来定义数据的结构和关系。要将'entities'的子对象上移到顶层,并重命名'results'对象,可以按照以下步骤进行操作:

  1. 创建一个schema对象,用于定义数据结构和关系。可以使用normalize函数将数据规范化为这个schema定义的结构。
代码语言:javascript
复制
import { normalize, schema } from 'normalizr';

const data = {
  results: [1, 2, 3],
  entities: {
    users: {
      1: { id: 1, name: 'John' },
      2: { id: 2, name: 'Jane' },
      3: { id: 3, name: 'Bob' },
    },
  },
};

const userSchema = new schema.Entity('users');
const dataSchema = new schema.Object({
  results: new schema.Array(userSchema),
});

const normalizedData = normalize(data, dataSchema);
  1. 在schema定义中,创建一个新的顶层schema对象,将原始数据中的'results'字段映射到这个新的schema对象。
代码语言:javascript
复制
const dataSchema = new schema.Object({
  newResults: new schema.Array(userSchema, (input, parent, key) => {
    return input.entities.users[input.results[key]];
  }),
});
  1. 使用normalize函数将数据规范化为新的schema定义的结构。
代码语言:javascript
复制
const normalizedData = normalize(data, dataSchema);

这样,'entities'的子对象将被上移到顶层,并且'results'字段会被重命名为'newResults'。在规范化后的数据中,可以通过normalizedData.entities.users来访问用户对象,通过normalizedData.result来访问'results'字段的值。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为示例,具体产品和服务选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券