2017-08-21 22 views
0

当用户打开应用程序并将其保存到道具时,我们如何检查AsyncStorage。如何在用户打开应用程序时检查AsyncStorage并将其保存到道具

从这个代码,我救不了“令牌”道具

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

我不想检查AsyncStorage每次我要把令牌头。所以我决定将它存储在道具中!这个主意不好吗?我找不到像Instagram或Facebook这样的授权流程的任何示例。

让我知道是否有什么不清楚。我来这里编辑问题。 :)

- >我正在使用react-Redux

非常感谢!

+0

你是不是克雷克斯?他们有一个rehydrate reducers – sourRaspberri

+0

是的,我正在使用Redux。我不知道如何在应用程序流中使用“Rehydrate Reducer”。你能解释更多吗? –

回答

0

您需要例如创建行动: setToken = token => { return { type: SET_TOKEN, payload: token } ; }或如https://github.com/gaearon/redux-thunk

,那么你需要写减速机可以使用中间件:

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

,那么你需要Redux的商店连接到您的组件(寻找'react-redux')

更多详情http://redux.js.org/

相关问题