Javascript undefined不是函数(在react native中计算此.function()

Javascript undefined不是函数(在react native中计算此.function(),javascript,react-native,parse-platform,Javascript,React Native,Parse Platform,所以我得到的是: 我想将所有“解析”代码保存在一个管理器中,我可以从其他类和文件调用该管理器。在本例中,我有一个函数,该函数只检查用户是否登录,然后根据该函数返回不同的抽屉导航。问题是我一直收到错误“未定义”不是函数(评估…)’。我对javascript有点陌生,找不到答案。下面是代码 提前谢谢 ParseManager.js App.js render(){ if(ParseManager.isUserLogged()){ 返回( ); }否则{ 返回( ); } 您只需调用isUserLog

所以我得到的是: 我想将所有“解析”代码保存在一个管理器中,我可以从其他类和文件调用该管理器。在本例中,我有一个函数,该函数只检查用户是否登录,然后根据该函数返回不同的抽屉导航。问题是我一直收到错误“未定义”不是函数(评估…)’。我对javascript有点陌生,找不到答案。下面是代码

提前谢谢

ParseManager.js App.js
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 />
    );
  }