2017-08-21 1 views
0

Comment vérifier l'AsyncStorage lorsque l'utilisateur ouvre l'application ET l'enregistrer dans les accessoires.Comment vérifier l'AsyncStorage lorsque l'utilisateur ouvre l'application ET l'enregistrer dans les accessoires

A partir de ce code, je ne peux pas sauver accessoires « jeton »

async onAuthComplete(props) { 
    let token = await AsyncStorage.getItem("auth_token"); 
    if(!_.isNull(token)) { 
     console.log('token exist! not null!') 
     this.props.token = token; 
    } 
    console.log('props token'); 
    console.log(this.props.token); <- prints null :(
    if (props.token) { 
     this.props.navigation.navigate('Main'); 
    } 
    } 

Je ne veux pas vérifier AsyncStorage chaque fois que je veux mettre le jeton dans l'en-tête. J'ai donc décidé de le stocker dans les accessoires! Est-ce une mauvaise idée? Je ne trouve aucun exemple de flux d'autorisation comme Instagram ou Facebook. Faites-moi savoir si quelque chose n'est pas clair.

Je suis ici pour éditer la question. :)

-> J'utilise-Redux réagir

Merci beaucoup!

+0

vous usin g redux? Ils ont un réducteur de réhydratation – sourRaspberri

+0

Oui, j'utilise Redux. Je ne sais pas comment je peux utiliser le «réducteur de réhydratation» pour mes flux d'applications. Pourriez-vous expliquer plus? –

Répondre

0

Vous devez créer une action par exemple: setToken = token => { return { type: SET_TOKEN, payload: token } ; } ou vous pouvez utiliser middlewares tels que https://github.com/gaearon/redux-thunk

alors vous devez écrire réducteur:

export default(state = { token: '' }, action) => { 
switch(action.type) { 
    case SET_TOKEN: { 
    return { ...state, token: action.payload }; 
    } 
    default: return state; 
} 
} 

alors vous devez vous connecter magasin redux à votre composant (rechercher 'réagir-redux')

plus de détails http://redux.js.org/