Как «связать» интерфейс с машинописным текстом? - PullRequest
0 голосов
/ 01 августа 2020

У меня есть базовый интерфейс, и я хочу, чтобы мой дочерний интерфейс выглядел как базовый интерфейс. Как я могу это сделать?

interface BaseInterface {
  api: { [key: string]: string  };
  ui: { [key: string]: string  };
}

interface ChildInterface {
  // I want to force this interface to have the same shape as BaseInterface
  // like so :

  api: { firstName: string  };
  ui: { firstName: string  };
}

Я пробовал с type ChildInterface = BaseInterface, но не могу настроить свой ChildInterface тогда.

Спасибо

1 Ответ

0 голосов
/ 01 августа 2020

Используйте ключевое слово extends.

interface ChildInterface extends BaseInterface {
    someOtherProp:string;
}

const someItem : ChildInterface = //...
console.log(someItem.api.firstName);
console.log(someItem.someOtherProp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...