Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用apollo boost持久化缓存_Javascript_Reactjs_Caching_Graphql_React Apollo - Fatal编程技术网

Javascript 使用apollo boost持久化缓存

Javascript 使用apollo boost持久化缓存,javascript,reactjs,caching,graphql,react-apollo,Javascript,Reactjs,Caching,Graphql,React Apollo,我有一个简短的问题 我们如何使用apollo boost库持久化缓存 我不知道如何使用以下配置实现阿波罗缓存持久化 const client = new ApolloClient({ uri: 'http://localhost:8080/_/service/com.suppliers/graphql', clientState: { defaults: { networkStatus: { __typename: 'NetworkStatus',

我有一个简短的问题

我们如何使用apollo boost库持久化缓存

我不知道如何使用以下配置实现阿波罗缓存持久化

const client = new ApolloClient({
  uri: 'http://localhost:8080/_/service/com.suppliers/graphql',
  clientState: {
    defaults: {
      networkStatus: {
        __typename: 'NetworkStatus',
        isConnected: false,
      },
    },
    resolvers: {
      Query: {},
      Mutation: {
        updateNetworkStatus: (_, { isConnected }, { cache }) => {
          cache.writeData({
            data: {
              networkStatus: {
                __typename: 'NetworkStatus',
                isConnected,
              },
            },
          })
          return null
        },
      },
    },
  },
})

提前谢谢

按照缓存持久化示例设置缓存:

然后,在boost配置中将其作为自定义缓存传递,如缓存配置部分所示:

例如:

import { InMemoryCache } from 'apollo-cache-inmemory';
import { persistCache } from 'apollo-cache-persist';

const cache = new InMemoryCache({...});

persistCache({
  cache,
  storage: window.localStorage,
});

import ApolloClient from "apollo-boost";

const client = new ApolloClient({
  uri: "https://48p1r2roz4.sse.codesandbox.io",
  cache: cache
});