Skip to content

Instantly share code, notes, and snippets.

@kamilkisiela
Last active October 17, 2019 09:12
Show Gist options
  • Save kamilkisiela/4cae5d60691d368b94ad746be8c5b2bc to your computer and use it in GitHub Desktop.
Save kamilkisiela/4cae5d60691d368b94ad746be8c5b2bc to your computer and use it in GitHub Desktop.
apollo-toolkit
// Before
this.addTransactionGQL.mutate(
{ input },
{
update: (cache, result) => {
const data = cache.readQuery<GetTransactions.Query>({
query: GET_TRANSACTIONS_QUERY
});
cache.writeQuery<GetTransactions.Query>({
query: GET_TRANSACTIONS_QUERY,
data: {
...data,
transactions: [result.data.addTransaction, ...data.transactions]
}
})
},
},
);
// After
import { update } from 'apollo-toolkit';
this.addTransactionGQL.mutate(
{ input },
{
update: update((cache, result) => {
cache.patchQuery<GetTransactions.Query>(
{
query: GET_TRANSACTIONS_QUERY,
},
data => {
data.transactions.unshift(result.data.addTransaction);
},
);
}),
},
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment