@urql/exchange-graphcache
Version:
A normalized and configurable cache exchange for urql
46 lines (34 loc) • 1.6 kB
Markdown
<h2 align="center">/exchange-graphcache</h2>
<p align="center"><strong>An exchange for normalized caching support in <code>urql</code></strong></p>
`/exchange-graphcache` is a normalized cache exchange for the [`urql`](https://github.com/urql-graphql/urql) GraphQL client.
This is a drop-in replacement for the default `cacheExchange` that, instead of document
caching, caches normalized data by keys and connections between data.
You can also pass your introspected GraphQL schema to the `cacheExchange`, which enables
it to deliver partial results and match fragments deterministically!
`urql` is already quite a comprehensive GraphQL client. However in several cases it may be
desirable to have data update across the entirety of an app when a response updates some
known pieces of data.
[Learn more about Graphcache and normalized caching on our docs!](https://formidable.com/open-source/urql/docs/graphcache/)
## Quick Start Guide
First install `/exchange-graphcache` alongside `urql`:
```sh
yarn add /exchange-graphcache
# or
npm install --save /exchange-graphcache
```
You'll then need to add the `cacheExchange`, that this package exposes, to your `urql` Client,
by replacing the default cache exchange with it:
```js
import { createClient, fetchExchange } from 'urql';
import { cacheExchange } from '/exchange-graphcache';
const client = createClient({
url: 'http://localhost:1234/graphql',
exchanges: [
// Replace the default cacheExchange with the new one
cacheExchange({
/* optional config */
}),
fetchExchange,
],
});
```