Actualmente estoy trabajando en una aplicación en la que puede realizar un seguimiento de los pacientes de Root Canal y funcionó bien durante mucho tiempo... pero después de la nueva actualización del paquete firebase
en expo... He estado recibiendo una error al intentar registrarse. Dice "Intenté asignar a la propiedad de solo lectura", pero las reglas de Firestore de mi nube están configuradas para que esté permitido. Por lo tanto, no estoy muy seguro de lo que hice mal.
Estas son las reglas de Firestore:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.time < timestamp.date(2023, 12, 31); } } }
Este es el código para la función de registro:
onSignUp = async (email, password) => { firebase // used import * as firebase from 'firebase/auth' .createUserWithEmailAndPassword( this.state.modalEmail, this.state.modalPassword ) .then(() => { firestore // used import * as firestore from 'firebase/firestore' .collection("Users") .doc(this.state.modalEmail) .set({ username: this.state.username, email_id: this.state.modalEmail, clinicName: this.state.clinicName, age: this.state.age, phoneNumber: this.state.phoneNumber, tablets: [] }); this.setState({ isModalVisible: false }); this.props.navigation.replace("Home"); }) .catch((error) => { Alert.alert("Coudn't create user", error.message); console.log(error) }); };
el error que estoy recibiendo:
Si tiene alguna idea de lo que hice mal o lo que podría hacer para solucionar este problema, hágamelo saber. ¡Gracias por adelantado!
Si usa firebase 9, la firma se cambia. el objeto de autenticación debe pasarse como primer parámetro.
const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password)