当用户打开应用程序并将其保存到道具时,我们如何检查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这样的授权流程的例子。
如果有什么不清楚,请告诉我。我在这里编辑问题。 :)
- &gt;我正在使用react-Redux
非常感谢你!
答案 0 :(得分:0)
您需要创建操作,例如:
setToken = token => {
return { type: SET_TOKEN, payload: token } ;
}
或者您可以使用https://github.com/gaearon/redux-thunk
然后你需要编写reducer:
export default(state = { token: '' }, action) => {
switch(action.type) {
case SET_TOKEN: {
return { ...state, token: action.payload };
}
default: return state;
}
}
然后你需要将redux store连接到你的组件(寻找'react-redux')