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

585
Vistas
TypeError no detectado: _firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection no es una función

Estoy trabajando en este boletín que toma los nombres completos, el correo electrónico y los números de teléfono de los usuarios. Cada vez que intento enviar la información me sale este error ->

 Uncaught TypeError: _firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection is not a function at submit (Newsletter.jsx:13:1) at HTMLUnknownElement.callCallback (react-dom.development.js:4157:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:4206:1) at invokeGuardedCallback (react-dom.development.js:4270:1) at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:4284:1) at executeDispatch (react-dom.development.js:9011:1) at processDispatchQueueItemsInOrder (react-dom.development.js:9043:1) at processDispatchQueue (react-dom.development.js:9056:1) at dispatchEventsForPlugins (react-dom.development.js:9067:1) at react-dom.development.js:9258:1

Este es mi código ->

firebasse.js

 import { initializeApp } from "firebase/app"; import { getFirestore} from "firebase/firestore"; const firebaseConfig = { ... }; const app = initializeApp(firebaseConfig); const db = getFirestore(app); export default db;

Boletín.jsx

 import { React, useState } from "react"; import "./newsletter.css"; import db from "../../firebase"; const Newsletter = () => { const [userName, setUserName] = useState(""); const [userEmail, setUserEmail] = useState(""); const [userPhoneNumber, setUserPhoneNumber] = useState(""); const submit = (e) => { e.preventDefault(); db.collection("Users").add({ name: userName, email: userEmail, phoneNumber: userPhoneNumber, }); setUserName(""); setUserEmail(""); setUserPhoneNumber(""); };

uno de los campos de entrada

 <div className="newsletterInput"> <input type="name" onChange={(e) => setUserName(e.target.value)} placeholder="Full Name" required /> </div>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Está utilizando la versión modular de Firestore, que es la versión web 9. Hay algunos elementos que necesita agregar/cambiar.

  1. Debe importar los métodos necesarios desde firebase/firestore .

     import { collection, addDoc } from "firebase/firestore";
  2. La sintaxis para agregar un documento a una colección ha cambiado con v9. Vea el código de muestra a continuación:

     // Add a new document with a generated id. const docRef = await addDoc(collection(db, "User"), { name: userName, email: userEmail, phoneNumber: userPhoneNumber });

Debería consultar la versión Modular de Firestore. Aquí hay algunos documentos para comenzar:

  • Configure su entorno de desarrollo
  • Agregar datos a Cloud Firestore
  • Obtener datos con Cloud Firestore
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