使用 apollo-boost 持久化缓存
Posted
技术标签:
【中文标题】使用 apollo-boost 持久化缓存【英文标题】:Persist cache with apollo-boost 【发布时间】:2018-09-25 08:15:36 【问题描述】:我有个小问题。
我们如何使用 apollo-boost lib 持久化缓存?
我不确定如何使用以下配置实现apollo-cache-persist
。
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
,
,
,
,
)
提前谢谢!
【问题讨论】:
【参考方案1】:按照缓存持久化示例here设置缓存:
然后,将其作为自定义缓存传入boost配置中,如缓存配置部分here所示:
例如:
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
);
【讨论】:
以上是关于使用 apollo-boost 持久化缓存的主要内容,如果未能解决你的问题,请参考以下文章
禁用从 apollo-boost 导出的 ApolloClient 中的缓存