我的第一个将数据推送到api的代码,每件事都进展顺利,但我被困在导航到下一页的地方。
我输入了电话和密码。我的按钮点击代码是
<TouchableOpacity style={styles.buttonContainer}
onPress={this.CheckTextInput
}>
<Text style={styles.buttonText}>Login</Text>
</TouchableOpacity>
现在CheckTextInput方法我已经编写了HTTP POST方法
CheckTextInput = () => {
//Handler for the Submit onPress
if (this.state.phone == '') {
alert('Please Enter Phone/Email');
//Check for the Name TextInput
} else if (this.state.password == '') {
alert('Please Enter Password');
}else{
var url = 'my_url';
var data = {
"phone":this.state.phone,
"password": this.state.password
}
fetch(url, {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(data)
})
.then(function(response){
return response.json();
})
.then(function(data){
console.log(data)
if(data.hasOwnProperty("success"))
{
let successmsg = data.success
// console.log('token is'+data.token)
console.log('success is string'+ ''+ successmsg)
if(successmsg == true)
{
let token = data.token
// console.log('token is'+data.token)
console.log('token is string'+ ''+ token)
this.props.navigation.navigate( 'HomePage' ); //----> HERE THIS IS NOT NAVIGATING.
}else{
let message = data.message
alert(message);
}
}
});
}
};
我遇到错误
未处理的承诺拒绝:TypeError:未定义不是对象(正在评估'this.props.navigation')]
好吧,我已经仔细研究了此错误的所有解决方案,但没有解决任何问题。
请有人帮我在情况下如何从一页导航到另一页。
答案 0 :(得分:1)
在[u for u in urls in not '?' in u]
数据之后,并在fetch
语句中,尝试使用如下箭头功能:
then