Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
createUserWithEmailAndPassword proporcionado por Firebase v9 congela la aplicación

Soy nuevo en la autenticación de base de fuego. Estoy creando una aplicación nativa de reacción. Estoy usando createUserWithEmailAndPassword para registrar un nuevo usuario. Adjunté un controlador de eventos para manejar el envío del formulario que activa la función onRegister. Deseo hacer uso del objeto de promesa que se devuelve de createUserWithEmailAnPassword.

Al intentar depurar usando Chrome, el depurador no se mueve al bloque de prueba (la contraseña tiene más de 6 dígitos y el correo electrónico también es válido). La aplicación se congela. El registro de la consola que he escrito en el bloque de prueba tampoco se imprime. Pero, en mi consola Firebase, se crea un nuevo usuario.

Si paso una contraseña no válida, se activa el código dentro del bloque catch. La aplicación no se congela.

¿Cómo evitar que la aplicación se congele y hacer uso del objeto devuelto por createUserWithEmailAndPassword?

 export default function Register(props) { let state = { email: "", password: "", name: "", }; async function onRegister() { const { email, password, name } = state; try { const res = await createUserWithEmailAndPassword(auth, email, password); const user = res.user; console.log(user); } catch (err) { console.error(err); alert(err.message); } } return ( <View> <TextInput placeholder="name" onChangeText={(name) => (state.name = name)} /> <TextInput placeholder="email" onChangeText={(email) => (state.email = email)} /> <TextInput placeholder="password" secureTextEntry={true} onChangeText={(password) => (state.password = password)} /> <Button onPress={() => onRegister()} title="Sign Up" />more tmore </View> ); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

esto funcionó para mí

 import auth from '@react-native-firebase/auth'; export default class App extends React.Component{ constructor(props){ super(props); this.onSignUpPressed = this.onSignUpPressed.bind(this); this.state = { email: '', password: '', passwordError: '', emailError: '', secureTextEntry: true, } } emailValidator = (email) => { const re = /\S+@\S+\.\S+/; if (!email || email.length <= 0) return 'Email cannot be empty.'; if (!re.test(email)) return 'Ooops! We need a valid email address.'; return ''; }; passwordValidator = (password) => { if (!password || password.length <= 0) return 'Password cannot be empty.'; return ''; }; async onSignUpPressed(){ const emailError = this.emailValidator(this.state.email); const passwordError = this.passwordValidator(this.state.password); if (emailError || passwordError) { this.setState({ emailError: emailError, passwordError: passwordError }) return; } const {email, password} = this.state; await auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; console.log(user) }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; console.log(errorMessage) }); }; render(){ const {email, password, passwordError, emailError, secureTextEntry} = this.state; return( <View> <TextInput placeholder="Email" value={email} error={!!emailError} errorText={emailError} placeholderTextColor="#666666" onChangeText={(email) => this.setState({email})} /> <TextInput placeholder="Password" placeholderTextColor="#666666" error={!!passwordError} errorText={passwordError} value={password.value} secureTextEntry={secureTextEntry ? true : false} onChangeText={(password) => this.setState({password})} /> <Button onPress={this.onSignUpPressed} title='SignUp'/> </View> )} }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda