Доступ к статической переменной из другого класса в приложении React-Native?
в моем приложении 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
};
},
2 ответов
вы смешиваете import
/ export
стили. Вы должны либо изменить свой импорт на
var User = require('./User').default
или
import User from './User'
или измените свой экспорт:
module.exports = User
Я думаю, вы также забыли этой ключевое слово для возврата статического поля "currentUser":
class User {
constructor() {}
static currentUser = {
uname: 'xxx',
firstname: 'first',
lastname: 'last'
};
static getCurrentUser() {
return this.currentUser;
}
}
console.log(User.getCurrentUser());