首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在apollo-client中实现注销

如何在apollo-client中实现注销
EN

Stack Overflow用户
提问于 2016-09-15 00:31:37
回答 1查看 1.2K关注 0票数 3

在apollo文档中找到的身份验证示例如下:

https://github.com/apollostack/core-docs/blob/master/source/network.md#afterware

代码语言:javascript
复制

networkInterface.useAfter([{

applyAfterware({ response },next) {

代码语言:javascript
复制
if (response.status === 401) {
代码语言:javascript
复制
  logout();
代码语言:javascript
复制
}
代码语言:javascript
复制
next();

}

}]);

代码语言:javascript
复制

但是注销函数是什么样子的呢?如果它确实是一个动作,我不清楚如何将它作为一个动作来实际调度。文档对此真的很不清楚,我在任何地方都找不到任何示例代码。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-17 20:09:32

看看我的实现:

代码语言:javascript
复制
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);
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39495512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档