【问题标题】:React Native Navigation in a if statement在 if 语句中反应原生导航
【发布时间】:2021-10-11 13:47:28
【问题描述】:

我正在通过 react Native 制作 PIN 码锁定屏幕。 当用户输入正确的密码时,它会提示“登录成功” 当用户输入错误的密码时,它会发出警报“登录失败” 如果用户输入 PIN 3 次,我想显示一个新屏幕。 所以我写了以下代码。

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')
              }
}

但这并不能胜任。 如何在 if else 语句中导航屏幕。 你可以在这里找到完整的代码和模拟器 - https://snack.expo.dev/@codewithbanchi/pincode

【问题讨论】:

    标签: javascript react-native navigation


    【解决方案1】:

    将您的代码更改为:

    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') 定义了一个从未调用过的未命名函数。

    【讨论】:

    • 我的朋友也不行
    • 您的 StackNavigator 中有等待屏幕吗?你能确认 navigation.navigate('Wait') 行被执行了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2021-03-23
    • 2017-06-09
    • 2020-11-26
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多