Estoy haciendo una pantalla de bloqueo de código PIN de reaccionar nativo. Cuando el usuario ingresó el pin correcto, da una alerta "Inicio de sesión exitoso". Cuando el usuario ingresó el PIN incorrecto, da una alerta "Inicio de sesión fallido". Si el usuario ingresó el PIN 3 veces, quiero mostrar una nueva pantalla. entonces escribo el siguiente código.
const checkPinCode = (a,b) => { if(arrayEquals(a,b)){ alert("Login success") }else { alert(" Login Failed "); seterrorCounter(errorCounter+1) } if (errorCounter>=2){ //Navigation code () => navigation.navigate('Wait') } }Pero esto no hace el trabajo. ¿Cómo puedo navegar por las pantallas en una declaración if else? Puede encontrar el código completo y el emulador aquí: https://snack.expo.dev/@codewithbanchi/pincode
Cambia tu código a:
const checkPinCode = (a,b) => { if(arrayEquals(a,b)){ alert("Login success") }else { alert(" Login Failed "); seterrorCounter(errorCounter+1) } if (errorCounter>=2){ //Navigation code navigation.navigate('Wait') // remove () => } } () => navigation.navigate('Wait') define una función sin nombre que nunca se llama.