@urql/exchange-graphcache
    TypeScript icon, indicating that this package has built-in type declarations

    4.3.6 • Public • Published

    @urql/exchange-graphcache

    An exchange for normalized caching support in urql

    @urql/exchange-graphcache is a normalized cache exchange for the 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!

    Quick Start Guide

    First install @urql/exchange-graphcache alongside urql:

    yarn add @urql/exchange-graphcache
    # or
    npm install --save @urql/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:

    import { createClient, dedupExchange, fetchExchange } from 'urql';
    import { cacheExchange } from '@urql/exchange-graphcache';
    
    const client = createClient({
      url: 'http://localhost:1234/graphql',
      exchanges: [
        dedupExchange,
        // Replace the default cacheExchange with the new one
        cacheExchange({
          /* optional config */
        }),
        fetchExchange,
      ],
    });

    Maintenance Status

    Active: Formidable is actively working on this project, and we expect to continue for work for the foreseeable future. Bug reports, feature requests and pull requests are welcome.

    Install

    npm i @urql/exchange-graphcache

    DownloadsWeekly Downloads

    34,544

    Version

    4.3.6

    License

    MIT

    Unpacked Size

    812 kB

    Total Files

    64

    Last publish

    Collaborators

    • yankovalera
    • valgeorgiev
    • michaelmerrill
    • sarmeyer
    • mariano-formidable
    • carlospaelinck
    • ryanisinallofus
    • samwhale
    • ryan.roemer
    • formidable-owner
    • eastridge
    • exogen
    • beccanelson
    • philpl
    • hartzis
    • mfulgham
    • jmcbee1
    • formidablelabs
    • carbonrobot
    • manosim
    • masiddee
    • andyrichardson
    • jdecroock
    • parkerziegler
    • npm-urql