Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Typings problem with PromiseStateMapping/FunctionMapping

Aperta
#226 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
react, typescript
Ambito
frontend

Direzione di ricerca

Esamina le definizioni di PromiseStateMapping e FunctionMapping in src/index.d.ts intorno alla riga 77, quindi riproduci gli errori di connect() con props refetch opzionali usando TypeScript 3.3.3. Il lavoro è completato quando le props refetch opzionali non causano più questi errori di tipizzazione, mentre i mappings esistenti continuano a superare il controllo dei tipi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hello! Thanks to those who contributed the TypeScript definitions, they're very useful. I did run into what looks like a problem with the PromiseStateMapping and FunctionMapping definitions. They look like:

type PromiseStateMapping<
  TProps,
  TProp extends keyof TProps
> = TProps[TProp] extends PromiseState<infer TValue>
  ? string | Mapping<TProps, TValue>
  : never;

// Function
type FunctionMapping<
  TProps,
  TProp extends keyof TProps
> = TProps[TProp] extends ((...args: infer TArgs) => void)
  ? ((...args: TArgs) => PropsMap<TProps>)
: never;

The two types

TProps[TProp] extends PromiseState<infer TValue>

and

TProps[TProp] extends ((...args: infer TArgs) => void)

appear to need an | undefined appended to them. Without this, I get (at least with TypeScript 3.3.3) type errors with connect() whenever the refetch props of the component are declared as optional with ?. But all refetch props need to be declared optional, since otherwise users of the component would have to pass them in. Does this sound right or am I missing something?

Lingua principale
JavaScript
Stelle
3.4k
Fork
137
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di heroku/react-refetch

Tutte le issue di heroku/react-refetch

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.