Typescript, Objektet er av typen 'ukjent'


Jeg har denne koden:

const dataId = await getData(id);

const result = dataId.requestPayload.officePaymentId; // error here

Jeg får Objekt er av typen 'ukjent'

Funksjonen getData() er denne:

import { Agent } from '../types';
export default async function getData<T>(
  id: string
): Promise<Agent<T>> {
  const Item = [something];

  return Item as Agent<T>;
}

grensesnittet Agent er:

export interface Agent<T> {
  id: string;
  requestPayload: T;
}

Hvordan kan jeg sende definisjonen av generikken når jeg kaller funksjonen getData? Eller hvorfor får jeg den nevnte feilen. Noen hint, takk

Svar #1

Du bør sende typen til getData

const dataId = await getData<MyPayload>(id);

der MyPayload er typen med egenskapen officePaymentId

Lekeromlenke

Svar #2

Typescript venter på at du spesifiserer typen T når du kaller getData.

For å gjøre det, bruk <TYPE>func(arguments)-syntaksen, eksempel :

const dataId = await getData<{
  officePaymentId: string;
}>('foo');

Lekeplasseksempel

Relaterte artikler