3

在 apollo 文档中找到的认证示例如下:

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

```
networkInterface.useAfter([{
  applyAfterware({ response }, next) {
    if (response.status === 401) {
      logout();
    }
    next();
  }
}]);
```

但是注销功能是什么样的呢?如果它确实是一个动作,我不清楚如何将它作为一个动作实际发送。文档对此真的不清楚,我无法在任何地方找到任何示例代码。有什么想法吗?

4

1 回答 1

0

看看我的实现:

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);
  }
});
于 2017-03-17T12:09:32.193 回答