Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL. To get the most value out of
apollo-client, you should use it with one of its view layer integrations.
To get started with the React integration, go to our React Apollo documentation website.
Apollo Client also has view layer integrations for all the popular frontend frameworks. For the best experience, make sure to use the view integration layer for your frontend framework of choice.
Get started on the home page, which has great examples for a variety of frameworks.
# installing the preset packagenpm install apollo-client-preset graphql-tag graphql --save# installing each piece independentlynpm install apollo-client apollo-cache-inmemory apollo-link-http graphql-tag graphql ---save
To use this client in a web browser or mobile app, you'll need a build system capable of loading NPM packages on the client. Some common choices include Browserify, Webpack, and Meteor 1.3+.
Install the Apollo Client Developer tools for Chrome for a great GraphQL developer experience!
You get started by constructing an instance of the core class
ApolloClient. If you load
ApolloClient from the
apollo-client-preset package, it will be configured with a few reasonable defaults such as our standard in-memory cache and a link to a GraphQL API at
;const client = ;
ApolloClient at a different URL, just create your own
HttpLink instance, like so, replacing
https://graphql.example.com with your GraphQL API's URL:
;;;const client =link: uri: ''cache:;
Most of the time you'll hook up your client to a frontend integration. But if you'd like to directly execute a query with your client, you may now call the
client.query method like this:
Now your client will be primed with some data in its cache. You can continue to make queries, or you can get your
client instance to perform all sorts of advanced tasks on your GraphQL data. Such as reactively watching queries with
watchQuery, changing data on your server with
mutate, or reading a fragment from your local cache with
To learn more about all of the features available to you through the
apollo-client package, be sure to read through the
apollo-client API reference.
Running tests locally:
# nvm use node npm install npm test
This project uses TypeScript for static typing and TSLint for linting. You can get both of these built into your editor with no configuration by opening this project in Visual Studio Code, an open source IDE which is available for free on all platforms.
If you're getting booted up as a contributor, here are some discussions you should take a look at: