Umgang mit schreibgeschützten Argumenten aus DataLoader - (GraphQL + Apollo in NextJS)

Laura Beatris

Ich habe eine Ladefunktion, um Köche aus einer Datenbank zu holen. Dieser Loader erhält also ein Array von idsund was seltsam ist, ist, dass die idseinen readonlyTyp haben.

Wenn ich versuche, diesen schreibgeschützten Typ an die Datenbankabfrage zu übergeben, wird ein Fehler ausgegeben.

Geben Sie hier die Bildbeschreibung ein

Wie kann ich die Typdefinition korrigieren?

Quellcode: https://github.com/LauraBeatris/graphql-with-nextjs/blob/master/pages/api/loader.ts

Laura Beatris

Ich habe das laut @ DanielRearden-Kommentar behoben.

Die Funktion, die die DataLoader-Instanz empfängt, verwendet generische Typen, sodass wir einen Typ an das idsArgument übergeben und ihn dann innerhalb der whereInknex-Methode verwenden können.

 new DataLoader((ids: string[]) => (
    databaseClient
      .table("chefs")
      .whereIn("id", ids)
      .select("*")
      .then(rows => ids.map(id => rows.find(row => row.id === id)))
  ))

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

heißlabel

Archiv