微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当 React Native 应用程序中的应用程序状态更改时,如何防止 apollo useQuery 钩子重置?

如何解决当 React Native 应用程序中的应用程序状态更改时,如何防止 apollo useQuery 钩子重置?

我在 React Native 应用程序中使用 Apollo 客户端访问我的 GraphQL 端点。

const client = new ApolloClient({
    cache: new InMemoryCache(),link: new WebSocketLink({
      uri: graphqlEndpoint,options: {
        lazy: true,reconnect: true,timeout: 30000,connectionParams: {
          headers
        }
      }
    }),defaultOptions: {
      watchQuery: {
        fetchPolicy: 'cache-first'
      },query: {
        fetchPolicy: 'cache-first'
      },}
  });

在各种屏幕中,我使用 useQuery 钩子查询数据。这是我的一个屏幕中的示例:

    const { loading,error,data } = useQuery(GET_RESTAURANT,{
        variables: { restaurantId,userId }
    });

我面临的问题是,每次我离开应用程序(从而将应用程序置于后台)时,查询都会重置。当我返回应用程序(因此将应用程序置于前台)时,loading 设置为 true,data 设置为 undefined。

这会创建一种行为,每次用户离开应用程序并返回时,屏幕似乎都会重新加载。理想情况下,屏幕不会重新加载,用户只需从上次中断的地方继续。

如何防止每次应用状态更改时重新加载查询?非常感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。