Как указать интерфейс с дочерними объектами в качестве типа функции с деструктурированными реквизитами - PullRequest
1 голос
/ 08 июля 2020

Вместо этого

import { client } from "./setupApi";

export const getLayout = ({ page, entity, list }: {page: string, entity: string, list: string}) => {
  return client.get("/secure/nav.json");
};

Как я могу использовать этот интерфейс?

export interface getLayoutProps {
  page: string;
  entity: string;
  layout: string;
}

Ответы [ 2 ]

1 голос
/ 08 июля 2020

Это работает нормально, единственная причина, по которой ваш пример не работает на моем компьютере, заключается в том, что в getLayoutProps нет свойства list, вместо этого есть layout:

export interface getLayoutProps {
  page: string;
  entity: string;
  layout: string;
}

export const getLayout = ({ page, entity, layout }: getLayoutProps) => { // This works.
  return client.get("/secure/nav.json");
};
0 голосов
/ 08 июля 2020
import { client } from "./setupApi";

export interface IGetLayoutProps {
  page: string;
  entity: string;
  layout?: string;
  list?: Array<string>;
}

export const getLayout = ({ page, entity, list }: IGetLayoutProps) => {
  return client.get("/secure/nav.json");
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...