繁体   English   中英

如何在apollo-client中实现注销

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM