从 React-Native 应用程序中的另一个类访问静态变量?

新手上路,请多包涵

在我的本机反应应用程序中,我目前有一个用户类,我在其中定义了一个当前用户,如下所示:

 class User {
    static currentUser = null;

    //other relevant code here

    static getCurrentUser() {
        return currentUser;
    }
}

export default User;

在另一个类中,我试图访问此 currentUser 的设置值。我不知道如何正确调用这个函数;我收到错误 User.getCurrentUser is not a function 。我应该以不同的方式调用这个函数吗?

 var User = require('./User');

getInitialState: function() {

    var user = User.getCurrentUser();

    return {
        user: user
    };

},

原文由 user3802348 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 284
2 个回答

您正在混合 import / export 样式。您应该将导入更改为

var User = require('./User').default

或者

import User from './User'

或者改变你的出口:

 module.exports = User

原文由 Balázs Édes 发布,翻译遵循 CC BY-SA 3.0 许可协议

我认为您还忘记了用于返回静态“currentUser”字段的 this 关键字:

 class User {
  constructor() {}

  static currentUser = {
    uname: 'xxx',
    firstname: 'first',
    lastname: 'last'
  };

  static getCurrentUser() {
    return this.currentUser;
  }
}

console.log(User.getCurrentUser());

原文由 FlorianE 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题