Skip to content

mcsdevv/datocms-react-apollo-demo-2

Repository files navigation

DatoCMS example blog using React & Apollo

Set up your own

By clicking the following button you'll set up a project on DatoCMS with the schema and data that you need to run this example.

Deploy with DatoCMS

How to start

Clone this repo

Create a .env file with your project's read-only api token.

echo 'REACT_APP_DATO_API_TOKEN=abc123' >> .env

Then run

yarn && yarn start

Setting up Apollo Client

Apollo does not support modular blocks out of the box because, by default, Apollo Client's cache is not able to deduce the schema when provided GraphQl union types. So if you use modular content in any of your models it is up to you to provide the projects's schema to Apollo's cache.

To do that open the DatoCMS cda explorer and type in this query

query Schema {
  __schema {
	    types {
        name
        kind
        possibleTypes {
          name
        }
      }
  }
}

Now paste the result in the schema.json file.

Be aware that if you make any changes to the schema you will have to do that again as Apollo Client now relies on the schema you provided to build the cache.

Read more about union types in Apollo here.

Read more

This project was bootstrapped with Create React App.

Apollo documentation can be found here.