Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
React Native: ¿por qué las funciones se activan automáticamente?

Permítanme comenzar diciendo que acabo de comenzar a aprender React Native y, por eso, intentaré ser lo más explícito posible.

Contexto:

Estoy tratando de crear una página de inicio de sesión/registro simple, tengo una pantalla de inicio que contiene 2 entradas con React State (nombre de usuario y contraseña) que necesito pasar a un servicio cuando presiono un botón, por lo que el código se parece a esto :
 function HomeScreen(props) { const [userName, onChangeUserNameText] = React.useState(null); const [password, onChangePasswordText] = React.useState(null); ... return ( <TextInput ... onChangeText={onChangeUserNameText} value={userName} /> <TextInput ... onChangeText={onChangePasswordText} value={password} /> <Button ... onPress={SignIn(userName, password)} /> )

el método SignIn (...) se exporta desde otro archivo al que llamé home.service que debería manejar la comunicación entre mi pantalla de inicio y las llamadas API, también puse algunos registros en esa función.

Problema:

por alguna razón, cada vez que cargo la aplicación o actualizo cualquiera de mis entradas, la función que debe ejecutarse cuando presiono el botón de inicio de sesión se ejecuta

en carga

ingrese la descripción de la imagen aquí

en Cambiar texto

ingrese la descripción de la imagen aquí

que me estoy perdiendo aqui ?

Editar/Conclusión:

Gracias @Robin Zigmond, el problema fue, como dijo este hombre, en la forma en que llamé a mis funciones en el evento onPress:

 <Button ... onPress={() => SignIn(userName, password)} />
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debe agregar una devolución de llamada; de lo contrario, SignIn seguirá ejecutándose:

 function HomeScreen(props) { const [userName, onChangeUserNameText] = React.useState(null); const [password, onChangePasswordText] = React.useState(null); ... return ( <TextInput ... onChangeText={onChangeUserNameText} value={userName} /> <TextInput ... onChangeText={onChangePasswordText} value={password} /> <Button ... onPress={() => SignIn(userName, password)} /> ) }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda