Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
La actualización de Firebase web v9 interrumpe react-firebase-hooks "useCollectionData()"

Estoy tratando de actualizar un código de Firebase en un proyecto de React al nuevo sdk modular web v9 que Firebase lanzó recientemente. El proyecto que se está actualizando usa el enlace useCollectionData() de react-firebase-hooks , que falla al cambiar al nuevo SDK. Obtengo el siguiente error en mi consola 3 veces cuando intento ejecutar mi código portado.

index.esm.js:101 TypeError no detectado: v1.isEqual no es una función

Un ejemplo mínimo de código web v8 en funcionamiento:

 import firebase from 'firebase/app' import 'firebase/firestore' import { useCollectionData } from "react-firebase-hooks/firestore" firebase.initializeApp({ //config here }) const firestore = firebase.firestore(); function Foo() { const messagesRef = firestore.collection('messages') const query = messagesRef.orderBy('createdAt').limit(25) const [messages] = useCollectionData(query, { idField: 'id' }) return (<> {messages} </>) }

Mi intento de portar a v9 que causa el error:

 import { initializeApp } from "firebase/app" import { getFirestore } from "firebase/firestore" import { useCollectionData } from "react-firebase-hooks/firestore" const app = initializeApp({ //config here }) const db = getFirestore(app) function Foo() { const messagesRef = collection(db, "messages") const q = query(messagesRef, orderBy("createdAt"), limit(25)) const [messages] = useCollectionData(q, { idField: "id" }) return (<> {messages} </>) }

Estoy actualizando mis dependencias de

 "dependencies" : { "firebase": "^7.20.0", "react": "^16.13.1", "react-dom": "^16.13.1", "react-firebase-hooks": "^2.2.0", }

a

 "dependencies" : { "firebase": "^9.0.2", "react": "^17.0.2", "react-dom": "^17.0.2", "react-firebase-hooks": "^3.0.4", }

Este documento de Firestore tiene ejemplos que usé para escribir mi código actualizado. También usé este documento de Firestore para comprender mejor los cambios en collection() .

Gracias por tu ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Actualización 3 de noviembre de 2021:

Se lanzó React Firebase Hooks v4 que es compatible con v9 y también requiere React 16.8.0 o posterior y Firebase v9.0.0 o posterior.


La biblioteca React Firebase Hooks no parece ser compatible con Firebase Modular SDK todavía (última versión de abril de 2021). Es posible que compat usar la versión compatible que permite usar una sintaxis de espacio de nombres más antigua incluso en v9.0.0+ y no tiene los beneficios de la sacudida del árbol:

 import firebase from 'firebase/compat/app' import 'firebase/compat/firestore' // import 'firebase/compat/[SERVICE_NAME]'
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda