【发布时间】:2017-02-06 16:55:11
【问题描述】:
我正在使用redux 构建我的第一个react native 应用程序。
我的store配置如下
function configureStore(onComplete: ?() => void) {
const store = autoRehydrate()(createMyAppStore)(reducers);
persistStore(store, {storage: AsyncStorage}, onComplete);
if (isDebuggingInChrome) {
window.store = store;
}
return store;
}
我有一个认证action如下
export function authentiate(credentials) {
return (dispatch) => {
return LoginApi.authenticate(credentials)
.then(response => {
return response.json().then(function(json) {
dispatch(onAuthSuccess(json));
});
})
.then(response => { dispatch(getUserInfo()); })
.catch(error => {
throw(error);
});
};
}
我的getUserInfoaction如下
export function getUserInfo() {
return (dispatch) => {
return LoginApi.gerUserInfo()
.then(result => { dispatch(onGetUserInfoSuccess(result.json())); })
.catch(error => {
throw(error);
});
};
}
我的认证reducer如下
function auth(state: State = initialState, action: Action): State {
switch (action.type) {
case types.AUTH_SUCCESSFUL :
return [...state, Object.assign({}, action.auth)];
default :
return state;
}
return state;
}
LoginApi 是一个简单的 ES6 类。 getUserInfo 需要access token 等详细信息以及从LoginApi.authenticate 调用中获得的其他参数。
如何从non-react 组件中读取来自redux store 的身份验证信息?
【问题讨论】:
标签: react-native redux react-redux