web-dev-qa-db-ja.com

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


},
12
user3802348

import/exportスタイルが混在しています。インポートを次のいずれかに変更する必要があります

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

または

import User from './User'

または、エクスポートを変更します。

module.exports = User
9
Balázs Édes

静的な「currentUser」フィールドを返すためのthisキーワードも忘れたと思います。

class User {
  constructor() {}

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

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

console.log(User.getCurrentUser());
6
FlorianE