Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

123
Views
Actualizar el estado de reacción redux solo funciona en el segundo clic

Soy nuevo en react-redux. Quiero obtener datos sobre el envío de Redux, si tengo éxito, entonces quiero navegar a otra pantalla; de lo contrario, aparecerá una alerta.

Sin embargo, estoy teniendo éxito solo después del segundo clic.

Código:

 const {fetchLoginData} = props; const data = props; async function onSubmit() { fetchLoginData(phoneNo); //if i get true from fetchLoginData(phoneNo) then navigate to other screen otherwise an alert will show if(data.login) props.navigation.navigate('ScreenName') else alert("User Not Registered") }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

No estoy muy seguro de cómo se presenta su elemento, pero supongo que su etiqueta táctil no es lo suficientemente grande. Aquí hay un ejemplo de mí dándole una altura de 300 y un ancho de 700. Puedes hacerlo tan grande como necesites.

 const GradientBtn = () => { return ( <TouchableOpacity onPress={() => onSubmit()} style={{height: 300, width: 700}}> {/* INSERT BUTTON CODE HERE */} </TouchableOpacity> ); };
about 4 years ago · Juan Pablo Isaza Report

0

Esto se debe a la operación asíncrona. La verificación de data.login realizada inmediatamente después de que la función fetchLoginData() se ejecuta en el primer clic es incorrecta para el primer caso. Por lo tanto, no hay redirección con el primer clic. Cuando vuelve a hacer clic, se redirige porque el estado ya es verdadero.

Puede arreglarlo así: si la respuesta está completa en la función fetchLoginData() , será correcto redirigir.

O puedes usar esto. Puede llamar a una función de redirección en cualquier parte del componente donde se encuentre el diseño del formulario. P.ej;

 <View> <Form> .... </Form> {data.login && props.navigation.navigate('ScreenName')} </View>
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!