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

181
Visualizações
Firebase V9 con React Native: la actualización del nombre para mostrar es demasiado lenta

Soy nuevo en reaccionar, base de fuego y desbordamiento de pila, así que tengan paciencia conmigo. Estoy tratando de crear un formulario de registro de usuario con firebase que incluya una entrada de 'nombre'. Funciona para actualizar el nombre para mostrar, pero no lo suficientemente rápido como para mostrar el nombre cuando el usuario inicia sesión por primera vez. Necesito guardar el archivo homescreen.js y luego se completa el nombre para mostrar.

código de registerscreen.js

 const [name, setName] = useState('') const handleRegister = async () => { if (confirmPass !== password){ alert('Passwords Do Not Match') return false} else{ } try{ const user = await createUserWithEmailAndPassword(auth, email, password) updateProfile(auth.currentUser, {displayName: name}) console.log('logged in with', user.email) } catch (error) { alert(error.message); }

y aquí está el texto en homescreen.js para mostrar el nombre de los usuarios:

 <Text style={styles.text}>Logged in as {auth.currentUser?.displayName}</Text>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que tienes dos buenas opciones.

  1. Guarde el nombre para mostrar del usuario localmente cuando se registre, por ejemplo, en Context o AsyncStorage, y utilícelo en su pantalla de inicio de sesión. En AsyncStorage, se vería así:
 // registerscreen.js await AsyncStorage.setItem('name', name); // homescreen.js body const name = await AsyncStorage.getItem('name'); // homescreen.js return <Text style={styles.text}>Logged in as {auth.currentUser?.displayName || name}</Text>

Los documentos para AsyncStorage están aquí.

  1. Muestre un indicador de carga hasta que su solicitud de Firebase regrese con el nombre para mostrar.
 // homescreen.js body // get auth object, however you are doing this already const auth = await getAuth(); // homescreen.js return return ( auth?.currentUser ? // your current component here : <LoadingScreen /> );

LoadingScreen podría ser algo como

 <View style={[StyleSheet.absoluteFill, { justifyContent: 'center', alignItems: 'center'> <LoadingIndicator /> </View>
about 4 years ago · Juan Pablo Isaza Relatório

0

Al igual que createUserWithEmailAndPassword , la llamada a `updateProfile es una llamada asíncrona, por lo que querrá esperar hasta que termine:

 await updateProfile(auth.currentUser, {displayName: name})
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