gpt4 book ai didi

reactjs - Apollo 客户端注销后重置商店

转载 作者:行者123 更新时间:2023-12-03 13:21:25 25 4
gpt4 key购买 nike

我正在尝试在我的react-apollo应用程序中注销后重置商店。

因此,我创建了一个名为“logout”的方法,当我单击按钮时会调用该方法(并通过“onDisconnect”属性传递)。

为此,我尝试遵循以下示例: https://www.apollographql.com/docs/react/recipes/authentication.html

但就我而言,我希望 LayoutComponent 作为 HOC(并且它没有 graphQL 查询)。

这是我的组件:

import React, {Component} from 'react';
import { withApollo, graphql } from 'react-apollo';
import { ApolloClient } from 'apollo-client';

import AppBar from 'material-ui/AppBar';
import Sidebar from 'Sidebar/Sidebar';
import RightMenu from 'RightMenu/RightMenu';

class Layout extends Component {
constructor(props) {
super(props);
}

logout = () => {
client.resetStore();
alert("YOUHOU");
}

render() {
return (
<div>
<AppBar title="myApp" iconElementRight={<RightMenu onDisconnect={ this.logout() } />} />
</div>
);
}
}

export default withApollo(Layout);

这里的问题是“客户端”未定义,我无法正确注销。您有什么想法可以帮助我处理这种情况或从 apollo 客户端注销的示例/最佳实践吗?

提前致谢

最佳答案

如果您需要清除缓存并且不想获取所有事件查询,您可以使用:

client.cache.reset()

client 是您的 Apollo 客户端。

请记住,这不会触发 onResetStore 事件。

关于reactjs - Apollo 客户端注销后重置商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48887480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com