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

182
Visualizações
¿Pasar el estado del nombre de usuario a la página de perfil?

(Soy un principiante total, así que solo estoy tratando de entender reaccionar) He creado una entrada de texto y un estado de nombre de usuario/establecer nombre de usuario que quiero guardar en una pantalla de componente diferente. Por alguna razón, no puedo hacer que funcione, eliminé todos mis intentos y acabo de publicar el código actual, ¿alguien puede guiarme?

Inicio.js

 const [username, setUsername] = useState("") const changeHandler = (val) => { setUsername(val)} const buttonPress = ()=> { console.log(username) navigation.navigate("Main")} return ( <SafeAreaView style={styles.container}> <Text style={styles.text}>Enter name here</Text> <View style={styles.textinputarea}> <TextInput style={styles.textinput} placeholder="Name here" maxLength = {12} onChangeText = {changeHandler} /> <TouchableOpacity onPress={buttonPress}> <Ionicons name="checkmark-circle" size={40} color="white"/> </TouchableOpacity> </View> </SafeAreaView> );

}

Y aquí está la parte en Profile.js donde quiero actualizar el estado cuando el "usuario" envía su nombre en Start.js

 <TouchableOpacity> <Title style={styles.text}>Hello {username}!</Title> </TouchableOpacity>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para administrar y pasar variables, puede hacer muchas cosas.

Suponiendo que está utilizando la biblioteca de navegación de reacción, lo recomendado en mi opinión es usar parámetros de navegación.

Pase el nombre de usuario a la pantalla que está navegando como tal:

 navigation.navigate("Main", { username )

Consíguelo y léelo en la pantalla 'Principal' como ruta (viene en accesorios o puedes usar useRoute hook)

 const {username} = route.params;

Más sobre parámetros en navegación: https://reactnavigation.org/docs/params/#what-should-be-in-params


Otra forma, ya mencionada por DustInCompetent, es mantener el estado en un componente, que está arriba de las pantallas (donde configuras y obtienes la variable).

Ejemplo de código:

 const [username, setUsername] = useState("") return ( <View> <Component1 username={username} setUsername={setUsername} /> <Component2 username={username} setUsername={setUsername} /> </View> );

Sin embargo, no recomendaría este enfoque si está utilizando una estructura de navegación (como react-navigation) ya que no pasa variables a las pantallas sin interrumpir la carga diferida, lo único que normalmente pasa es componente. En un caso, cuando desea administrar variables en múltiples pantallas y componentes, tener un contexto ayuda. Ayuda a resolver el problema de pasar variables, pero tenga en cuenta que si escala a múltiples contextos, es mejor usar Redux, Recoil u otra herramienta de administración de estado. Puede encontrar más información sobre los contextos en los documentos de React: https://reactjs.org/docs/context.html

Ejemplo de código (App.js):

 return ( <YourContext> <NavigationContainer> <Stack.Navigator> <Stack.Screen ... /> <Stack.Screen ... /> </Stack.Navigator> </NavigationContainer> </YourContext> );

Archivo de contexto (Context.js):

 import React, { createContext, useContext, useState } from 'react'; const UsernameContext = createContext(); export const UsernameProvider = ({ children }) => { const [username, setUsername] = useState(); return ( <UsernameContext.Provider value={{ username, setUsername, }} > {children} </UsernameContext.Provider> ); }; export const useUsernameProvider = () => useContext(UsernameContext); export default UsernameContext;

Luego puede importar y usar contexto en cada pantalla/componente que necesite como:

 const { username, setUsername } = useUsernameProvider();
about 4 years ago · Juan Pablo Isaza Relatório

0

Este artículo trata sobre compartir el estado entre diferentes componentes sin ninguna técnica compleja de React Context/Redux. ¡Así que es bueno para los principiantes! Breve e informativo.

Deberá tener un componente que será responsable de representar los componentes Inicio y Perfil. Digamos, un App.js o cualquier otro componente ( Layout.js ).


Muevete

 const [username, setUsername] = useState("")

a Layout.js / App.js, y páselo como un accesorio como

 <Start username={ username } setUsername={ setUsername } />

También pase valor prop al componente TextInput.

Entonces, ese estado que se actualiza con onChangeText en realidad actualiza el valor de la entrada, no solo la variable de estado, sino también el componente.

 <TextInput value={ username } style={styles.textinput} placeholder="Name here" maxLength = {12} onChangeText = {changeHandler} />
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