Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InMemoryCache #20

Open
ivonakov opened this issue Mar 28, 2020 · 2 comments
Open

InMemoryCache #20

ivonakov opened this issue Mar 28, 2020 · 2 comments

Comments

@ivonakov
Copy link

InMemoryCache

The InMemoryCache class resides in a different package from the Apollo Client core. Make sure the apollo-cache-inmemory package is installed in your project

https://www.apollographql.com/docs/react/caching/cache-configuration/

cache.writeData({ data });

=> Uncaught TypeError: cache.writeData is not a function at Object.parcelRequire.App.js.react (App.js:45)

@ascott1
Copy link
Collaborator

ascott1 commented May 4, 2020

For anyone who comes across this issue, we discuss it in more detail here: https://spectrum.chat/jseverywhere/general/chapter-15-web-authentication-and-state-issue-with-cache-writedata~998a84e5-9caa-4dab-bccb-d97fea79c1b1

The tl;dr summary is:
If you are using this repo as a starter project as shown in the book, you should not experience this issue.

However, when using the latest version of Apollo the two packages need to be installed separately:

import { ApolloClient, ApolloProvider, createHttpLink } from '@apollo/client';
import { InMemoryCache } from 'apollo-cache-inmemory';

Otherwise, the code should be the same.

Hopefully that helps!

@cip123
Copy link

cip123 commented May 15, 2020

I think this is related to this issue, @appolo/client removed client.writeData in version 3.0.0-beta.48 so the signIn code is no longer working.
I tried this workaround

client.cache.writeData({ data: { isLoggedIn: true } });

but now the problem is that

 const { loading, error, data } = useQuery(IS_LOGGED_IN);

in PrivateRoute is returning stale data after the succesful login redirect so I need to log in twice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants