Какой тип дать response’у, полученный от сервера, чтобы typescript Не ругался?

В TypeScript, чтобы избежать ошибок компиляции при работе с объектами, возвращаемыми сервером, необходимо задать правильный тип для объектов ответа (response).

В общем случае можно использовать тип any, чтобы указать, что объект имеет неизвестную структуру и TypeScript не должен проверять его поля на соответствие определенному типу. Но такое решение является неоптимальным, так как TypeScript теряет возможность проводить проверки типов.

Вместо этого рекомендуется создать интерфейс (или тип), который определяет структуру объекта, возвращаемого сервером. Например, если сервер возвращает объект с полями "id" и "name", мы можем определить интерфейс:

interface ServerResponse {
  id: number;
  name: string;
}

Затем, мы можем использовать этот интерфейс для указания типа response:

const response: ServerResponse = {
  id: 1,
  name: "John Smith"
};

Если сервер возвращает массив объектов с такой структурой, мы можем указать тип как массив элементов этого интерфейса:

const response: ServerResponse[] = [
  { id: 1, name: "John Smith" },
  { id: 2, name: "Jane Smith" }
];

Таким образом, определение правильного типа для объекта response от сервера позволяет TypeScript проводить проверку типов и предотвращать ошибки компиляции, что упрощает разработку и обеспечивает более безопасное взаимодействие с сервером.