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

时间:2016-05-30 04:52:47

标签: javascript function class react-native

在我的react-native应用程序中,我目前有一个User类,我在其中定义当前用户,如下所示:

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
    };


},

3 个答案:

答案 0 :(得分:8)

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

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

import User from './User'

或者更改您的导出:

module.exports = User

答案 1 :(得分:6)

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

class User {
  constructor() {}

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

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

console.log(User.getCurrentUser());

答案 2 :(得分:0)

尝试箭头功能:

class User {
    static currentUser = null;

    static getCurrentUser = () => {
        return currentUser;
    }
}
export default User;