繁体   English   中英

如何为此 Firebase 响应 JSON 构建 Typescript 接口?

[英]How to structure a Typescript Interface for this Firebase Response JSON?

我有这个 JSON 响应从 Firebase 返回

{ "-KD8Evk7TULU6t6zxMHl": { "createdAt": 1458296568840, "isActive": true, "title": "...add a title", "updatedAt": 1458296568840 } }

问题的第 1 部分:我应该如何为上述 JSON 构建我的 Typescript 接口? 例如,像下面这样?

export interface Hero {
  [id: string]: {
    createdAt: number;
    isActive: boolean;
    title: string;
    updatedAt: number;
  }
}

问题的第 2 部分:我应该如何使用推荐的 Typescript 接口结构获取英雄的头衔或 ID? 例如我想显示英雄id和英雄头衔

<html>
  ...omitted code for simplicity. I want to display hero id and title below.
  <h1> {{ hero.id }} </h1>
  <h1> {{ hero.title }} </h1>
</html>
  1. 第1部分

您可以使用这种方式或构建一个具有另一个属性“keyId”的类,该属性将存储从 firebase 响应对象(“-KD8Evk7TULU6t6zxMHl”)收到的 ID。 在构造函数中,您应该使用收到的 id 填充 keyId 道具。 不过它有点复杂,需要为每个 json 行创建一个新类。

  1. 第2部分

如果你坚持你的选项 1,那么你必须使用 "Object" 类从你的对象中读取 -> hero[Object.keys(hero)[0]].title 或者只是 Object.keys(hero)[0] 如果你想要身份证。 这有点烦人,但我看不到另一种方式,除非您像我之前提到的那样将接口更改为带有构造函数的类,然后您可以使用 hero[hero.keyId].title 或 hero.keyId 之类的东西作为 id ; )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM