2016-05-30 14 views
5

nella mia app reagire nativo Al momento ho una classe User in cui io definisco un utente corrente come di seguito:Accedere alla variabile statica di un'altra classe nell'app React-Native?

class User { 
    static currentUser = null; 

    //other relevant code here 

    static getCurrentUser() { 
     return currentUser; 
    } 
} 

export default User; 

in una classe diversa, sto cercando di accedere al valore impostato di questo currentUser. Non riesco a capire come chiamare correttamente questa funzione; Ricevo l'errore User.getCurrentUser is not a function. Dovrei chiamare questa funzione in un modo diverso?

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

getInitialState: function() { 

    var user = User.getCurrentUser(); 

    return { 
     user: user 
    }; 


}, 

risposta

6

si stia mescolando import/export stili. Si dovrebbe cambiare sia l'importazione di

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

o

import User from './User' 

o cambia le esportazioni:

module.exports = User 
3

Penso che anche dimenticato il presente parola chiave per la restituzione statica Campo "currentUser":

class User { 
    constructor() {} 

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

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

console.log(User.getCurrentUser());