Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

582
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!