useFirestoreCollection triggers a double render
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, react
Direzione di ricerca
Inizia riproducendo il comportamento con il caso di test useFirestoreCollection e confrontalo con il comportamento simile di useUser. Ispeziona i punti di ingresso di questi hook per determinare perché il recupero con Suspense fa sì che console.log venga eseguito due volte. Il lavoro è completato quando il recupero dei dati produce un rendering, mentre i rendering successivi avvengono solo quando cambia la collection.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
Seems like useFirestoreCollection always triggers unnecessary render when fetching data (suspense is on). Similar behavior is also the case for useUser.
There's a chance I'm simply using the API wrong, so please advise if so :)
Version info
React: 17.0.2
Firebase: 9.1.3
ReactFire: 4.2.0
Test case
const q = /* whatever query */;
const queryResults = useFirestoreCollection(q);
console.log(queryResults);
Expected behavior
console.log is called once.
Actual behavior
console.log is called twice.
Ultimately, what I'm trying to achieve is a code similar to the one below
const queryResults = useFirestoreCollection(query);
return queryResults.data.docs.map((d) => /* render */);
that renders only once when the data is fetched (and then only when there're changes in the collection).
- Lingua principale
- TypeScript
- Stelle
- 3.6k
- Fork
- 403
- Merge medio
- 5g 1h
- PR unite (30g)
- 10
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FirebaseExtended/reactfire
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
FirebaseExtended/reactfire#801 ·
-
v5
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
FirebaseExtended/reactfire#793 ·
-
v5
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
FirebaseExtended/reactfire#790 · 2 commenti ·
-
v5
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
FirebaseExtended/reactfire#789 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
FirebaseExtended/reactfire#788 ·
Tutte le issue di FirebaseExtended/reactfire
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
bcgov/bc-wallet-mobile#4761 · 1 commento ·
-
external-issue to-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
area-deployment area-integrations triage:bot-seen
Difficoltà 2/5 Mezza giornata Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100