如何实现在阿波罗客户
问题描述:
认证例如注销阿波罗文档中发现如下:如何实现在阿波罗客户
https://github.com/apollostack/core-docs/blob/master/source/network.md#afterware
```
networkInterface.useAfter([{
applyAfterware({ response }, next) {
if (response.status === 401) {
logout();
}
next();
}
}]);
```
但到底是什么的注销功能是什么样子?我不清楚如果实际上是一种行动,如何实际发送这个动作。该文档真的不清楚这一点,我一直无法在任何地方找到任何示例代码。有什么想法吗?
答
看看我的实现:
const withUserHandlers = withHandlers({
logout: props =>() => {
const { client, navigation, setUser } = props; // eslint-disable-line
removeTokenFromUse(client);
client.resetStore();
setUser(null);
const resetAction = NavigationActions.reset({
index: 0,
actions: [ NavigationActions.navigate({ routeName: 'Login' }) ],
});
navigation.dispatch(resetAction);
}
});