无法读取未定义的属性“导航”-反应本机

时间:2019-04-29 11:08:41

标签: android react-native navigation stack-navigator

我正在开发React本机应用程序。在该应用程序中当我调用以下函数时,出现错误

  

无法读取未定义的属性“导航”

      handleForgotPassword = (email) => {
        firebase.auth().sendPasswordResetEmail(email)
        .then(function (user) {
          console.log("Inner");
          this.props.navigation.navigate("Login") //not working
        }).catch(function (e) {
          console.log(e)
        })

      }

但是在同一页面上,我正在使用以下代码,并且工作正常。

<TouchableOpacity onPress={() => this.props.navigation.navigate("Login")}> //but this is working
      <Image  source={require('../src/Assets/close.png')} />
      </TouchableOpacity> 

谁能告诉我是什么问题

1 个答案:

答案 0 :(得分:3)

匿名函数具有它自己的上下文(这就是为什么导航未定义)...但是箭头函数自动绑定到其父项

       firebase.auth().sendPasswordResetEmail(email)
        .then((user) =>  {
          console.log("Inner");
          this.props.navigation.navigate("Login") // Will work
        })