optimisticResponse
Overview
optimisticResponse
is analogous to optimisticResponse
option passed to useMutation
.
It enables optimistic UI, allowing for immediate UI updates before the server responds.
Usage
Let's extend bookState
to return an optimistic response when AddBook
mutation is executed.
library/states/book.state.ts
import { state } from '@apollo-orbit/react';
import shortid from 'shortid';
import { AddBookDocument } from '../../graphql';
export const bookState = state(descriptor => descriptor
.optimisticResponse(AddBookDocument, ({ book }) => ({
__typename: 'Mutation' as const,
addBook: {
__typename: 'Book' as const,
id: shortid.generate(),
genre: book.genre ?? null,
name: book.name,
authorId: book.authorId
}
}))
);