Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

types: initialData in ReactFireOptions<T> should accept snapshot types for snapshot hooks

Ouverte
#741 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
firebase, react, typescript
Domaine
frontend

Piste de recherche

Commencez par localiser ReactFireOptions et les hooks de snapshot useFirestoreDoc, useFirestoreDocOnce et useFirestoreCollection. Examinez la limitation connue suivie dans #740, puis comparez ces types avec les hooks de données. C’est terminé lorsque les hooks de snapshot acceptent leurs types initialData DocumentSnapshot ou QuerySnapshot, tandis que les hooks de données conservent T, sans modification à l’exécution.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

v5

Summary

ReactFireOptions<T> types initialData as T, which is correct for the data hooks (useFirestoreDocData, useFirestoreCollectionData, useDatabaseObjectData, etc.). For the raw snapshot hooks, the correct type is the snapshot wrapper, not the unwrapped data type:

Hook Correct initialData type
useFirestoreDoc DocumentSnapshot<T>
useFirestoreDocOnce DocumentSnapshot<T>
useFirestoreCollection QuerySnapshot<T>

Corrected: this table originally listed a fourth row, useFirestoreCollectionOnce. No such export exists. The raw snapshot hooks are the three above.

This mismatch is pre-existing and was silently masked by the T | any widening removed in #740. It is not a regression from that PR.

Options

  1. Split ReactFireOptions into separate types for data hooks vs snapshot hooks, each with the correct initialData type.
  2. Make initialData generic at the hook level (e.g., initialData?: TSnapshot) independent of the data type T.

Either approach would be a TypeScript-only change with no runtime impact.

Tracked in #740 (known limitation section).

Langage dominant
TypeScript
Étoiles
3.6k
Forks
403
Merge moyen
5 j 1 h
PR mergées (30 j)
10

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FirebaseExtended/reactfire

Toutes les issues de FirebaseExtended/reactfire

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.