gpt4 book ai didi

reactjs - apollo graphql UI 重新获取后未更新

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

在 react 登录组件中,我想在登录成功后重新获取并更新导航栏组件。

const loginUser = () => {
props.mutate({
variables: {
input: { email, password },
},
refetchQueries: [{ query: GET_ME }],
});
};

我可以在网络选项卡中看到登录和重新获取,并且都返回 200 并具有正确的状态。但导航栏仍然显示旧数据。

这是我的导航栏组件。

export const Header = props => {
return <div>Header {JSON.stringify(props.data)}</div>;
};

export default graphql(GET_ME)(Header);

还有apolloClient:

export const client = new ApolloClient({
link: createHttpLink({
credentials: 'include',
uri: 'http://localhost:8080/api/graphql',
}),
cache: new InMemoryCache(),
});

最佳答案

尝试添加

 options: {
awaitRefetchQueries: true
},

到 refetchQueries 和变量旁边的 props.mutate。

使用 options.refetchQueries 重新获取的查询是异步处理的,这意味着默认情况下它们不一定在突变完成之前完成。将 options.awaitRefetchQueries 设置为 true 将确保重新获取的查询在突变被视为完成(或解决)之前完成。 options.awaitRefetchQueries 默认为 false。

关于reactjs - apollo graphql UI 重新获取后未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53474637/

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