undefined 不是函数(在 React Native 中评估 this.function()

undefined is not a function (evaluating this.function() in react native

所以我有这个: 我想将所有 'parse' 代码保存在我可以从另一个 类 和文件调用的管理器中。在这个例子中,我有一个函数,它只会检查用户是否登录,然后 return 基于它的不同抽屉导航。问题是我不断收到错误 'undefined is not a function (evaluating ...)'。我是 javascript 的新手,找不到这个问题的答案。这是代码。

提前致谢。

ParseManager.js

isUserLogged() {
Parse.User.currentAsync().then(function (user) {
    if (user) {
        console.log("ParseManager - User logged in.")
        return true;
    } else {
        console.log("ParseManager - User logged off.")
        return false;
    }
});

App.js

render() {
if (ParseManager.isUserLogged()) {
  return (
    <SecondaryRoot />
  );
} else {
  return (
    <MainRoot />
  );
}

您只需在组件挂载时调用 isUserLogged 并稍后检查状态: 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 />
    );
  }