用户打开应用程序时如何检查 AsyncStorage 并将其保存到道具
Posted
技术标签:
【中文标题】用户打开应用程序时如何检查 AsyncStorage 并将其保存到道具【英文标题】:How to check the AsyncStorage when user opens the app AND save it to the props 【发布时间】:2018-01-29 06:10:50 【问题描述】:当用户打开应用并保存到 props 时,我们如何检查 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
非常感谢!
【问题讨论】:
你在使用 redux 吗?他们有一个再水化还原剂 是的,我正在使用 Redux。我不知道如何在我的应用程序流中使用“rehydrate reducer”。你能解释更多吗? 【参考方案1】:您需要创建操作,例如:
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')
更多详情http://redux.js.org/
【讨论】:
以上是关于用户打开应用程序时如何检查 AsyncStorage 并将其保存到道具的主要内容,如果未能解决你的问题,请参考以下文章
ReactNative:如何检查用户是不是已授予 gps 权限
React Native iOS:检查通知权限内存泄漏,如何在应用启动时检查通知权限?