in my react-native app I currently have a User class in which I define a current user as below:
class User {
static currentUser = null;
//other relevant code here
static getCurrentUser() {
return currentUser;
}
}
export default User;
In a different class, I am trying to access the set value of this currentUser. I cannot figure out how to correctly call this function; I am getting the error User.getCurrentUser is not a function
. Should I be calling this function in a different way?
var User = require('./User');
getInitialState: function() {
var user = User.getCurrentUser();
return {
user: user
};
},
You are mixing import
/ export
styles. You should either change your import to
var User = require('./User').default
or
import User from './User'
Or change your export:
module.exports = User
I think you also forgot the this keyword for returning the static "currentUser" field:
class User {
constructor() {}
static currentUser = {
uname: 'xxx',
firstname: 'first',
lastname: 'last'
};
static getCurrentUser() {
return this.currentUser;
}
}
console.log(User.getCurrentUser());
Try arrow function:
class User {
static currentUser = null;
static getCurrentUser = () => {
return currentUser;
}
}
export default User;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.