Javascript undefined不是函数(在react native中计算此.function()
所以我得到的是: 我想将所有“解析”代码保存在一个管理器中,我可以从其他类和文件调用该管理器。在本例中,我有一个函数,该函数只检查用户是否登录,然后根据该函数返回不同的抽屉导航。问题是我一直收到错误“未定义”不是函数(评估…)’。我对javascript有点陌生,找不到答案。下面是代码 提前谢谢 ParseManager.js App.jsJavascript undefined不是函数(在react native中计算此.function(),javascript,react-native,parse-platform,Javascript,React Native,Parse Platform,所以我得到的是: 我想将所有“解析”代码保存在一个管理器中,我可以从其他类和文件调用该管理器。在本例中,我有一个函数,该函数只检查用户是否登录,然后根据该函数返回不同的抽屉导航。问题是我一直收到错误“未定义”不是函数(评估…)’。我对javascript有点陌生,找不到答案。下面是代码 提前谢谢 ParseManager.js App.js render(){ if(ParseManager.isUserLogged()){ 返回( ); }否则{ 返回( ); } 您只需调用isUserLog
render(){
if(ParseManager.isUserLogged()){
返回(
);
}否则{
返回(
);
}
您只需调用isUserLogged on component mount,然后只需检查状态:
ParseManager.js
isUserLogged(callback) {
Parse.User.currentAsync().then(function (user) {
if (user) {
console.log("ParseManager - User logged in.")
callback(true);
} else {
console.log("ParseManager - User logged off.")
callback(false);
}
});
App.js
componentDidMount(){
ParseManager.isUserLogged(
(logged)=>{
this.setState({logged});});
});
}
render() {
if (this.state.logged) {
return (
<SecondaryRoot />
);
} else {
return (
<MainRoot />
);
}
componentDidMount(){
ParseManager.isUserLogged(
(已记录)=>{
this.setState({logged});});
});
}
render(){
if(this.state.logged){
返回(
);
}否则{
返回(
);
}
在哪一行?发布所有代码,不仅部分isUserLogged
没有做您认为它正在做的事情。它返回未定义的,因为Parse.User…
是一个承诺。@Wainage确实返回未定义的,我如何更改它?
isUserLogged(callback) {
Parse.User.currentAsync().then(function (user) {
if (user) {
console.log("ParseManager - User logged in.")
callback(true);
} else {
console.log("ParseManager - User logged off.")
callback(false);
}
});
componentDidMount(){
ParseManager.isUserLogged(
(logged)=>{
this.setState({logged});});
});
}
render() {
if (this.state.logged) {
return (
<SecondaryRoot />
);
} else {
return (
<MainRoot />
);
}