[英]How to implement logout in apollo-client
在apollo文档中找到的身份验证示例如下:
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);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.