Reactjs 导航-无法读取属性';导航';未定义的
我尝试在登录函数之后在“主页”路径上导航,并尝试在登录中集成导航函数,但出现错误“无法读取未定义错误的属性”“导航”Reactjs 导航-无法读取属性';导航';未定义的,reactjs,react-native,navigation,Reactjs,React Native,Navigation,我尝试在登录函数之后在“主页”路径上导航,并尝试在登录中集成导航函数,但出现错误“无法读取未定义错误的属性”“导航” loginUser = (email, password) => { try { firebase .auth() .signInWithEmailAndPassword(email, password) .then(function(user) {
loginUser = (email, password) => {
try {
firebase
.auth()
.signInWithEmailAndPassword(email, password)
.then(function(user) {
this.props.navigation.navigate("Home");
});
} catch (error) {
console.log(error.toString());
}
};
我还尝试使用()=>this.props.navigation.navigate(“Home”)代码>但什么也没发生
我的路线运行良好,因为如果我创建一个带有onPress功能的简单按钮,它运行良好
this.props.navigation.navigate(“登录”)}/>
你能给我一些提示吗?在react native中成功登录后,如何导航到主页
提前谢谢你 尝试console.log(这个)。我认为因为您在promise中创建了一个新函数,所以这个函数的范围已经更改。试试看
loginUser=(电子邮件、密码)=>{
让那=这;
试一试{
火基
.auth()
.使用电子邮件和密码登录(电子邮件、密码)
.then(功能(用户){
那。道具。导航。导航(“家”);
});
}捕获(错误){
log(error.toString());
}
};
尝试console.log(这个)。我认为因为您在promise中创建了一个新函数,所以这个函数的范围已经更改。试试看
loginUser=(电子邮件、密码)=>{
让那=这;
试一试{
火基
.auth()
.使用电子邮件和密码登录(电子邮件、密码)
.then(功能(用户){
那。道具。导航。导航(“家”);
});
}捕获(错误){
log(error.toString());
}
};
当您在承诺链中使用function(){}语法与arrow函数语法时,您正在更改this(在this.props中)的词法范围
如果将函数更改为箭头函数,则将保留外部作用域,并可以访问此作用域
e、 g
当您在承诺链中使用function(){}语法与arrow函数语法时,您正在更改this(在this.props中)的词法范围
如果将函数更改为箭头函数,则将保留外部作用域,并可以访问此作用域
e、 g
是<代码>登录用户
是redux的操作吗?是<代码>登录用户是redux的操作吗?是redux的操作吗?是感谢您的回答。我已经试过了,但是现在我得到了“还没有定义”谢谢你的回答。我已经尝试过了,但是现在我得到了“这还没有定义”的消息,谢谢@codi05ro-不幸的是,我真的需要更多地查看您的代码。你能具体说明什么是未定义的吗?如果你在loginUser方法的第一线使用console.log(this.props),你能在那里看到导航吗?谢谢@codi05ro-不幸的是,我真的需要看到更多你的代码。你能具体说明什么是未定义的吗?如果您在loginUser方法的第一行上使用console.log(this.props),您能在那里看到导航吗?
.then((user) => {
that.props.navigation.navigate("Home");
});