Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

apollo-boost

apollographql439.6kMIT0.4.9TypeScript support: included

The easiest way to get started with Apollo Client

readme

apollo-boost

The fastest, easiest way to get started with Apollo Client!

Apollo Boost is a zero-config way to start using Apollo Client. It includes some sensible defaults, such as our recommended InMemoryCache and HttpLink, which come configured for you with our recommended settings.

Quick start

First, install apollo-boost. If you don't have graphql & react-apollo already in your project, please install those too.

npm i apollo-boost graphql react-apollo -S

Next, create your client. Once you create your client, hook it up to your app by passing it to the ApolloProvider exported from react-apollo.

import React from 'react';
import { render } from 'react-dom';
import ApolloClient from 'apollo-boost';
import { ApolloProvider } from 'react-apollo';

// Pass your GraphQL endpoint to uri
const client = new ApolloClient({ uri: 'https://nx9zvp49q7.lp.gql.zone/graphql' });

const ApolloApp = AppComponent => (
  <ApolloProvider client={client}>
    <AppComponent />
  </ApolloProvider>
);

render(ApolloApp(App), document.getElementById('root'));

Awesome! Your ApolloClient is now connected to your app. Let's create our <App /> component and make our first query:

import React from 'react';
import { gql } from 'apollo-boost';
import { Query } from 'react-apollo';

const GET_MOVIES = gql`
  query {
    movie(id: 1) {
      id
      title
    }
  }
`

const App = () => (
  <Query query={GET_MOVIES}>
    {({ loading, error, data }) => {
      if (loading) return <div>Loading...</div>;
      if (error) return <div>Error :(</div>;

      return (
        <Movie title={data.movie.title} />
      )
    }}
  </Query>
)

Time to celebrate! 🎉 You just made your first Query component. The Query component binds your GraphQL query to your UI so Apollo Client can take care of fetching your data, tracking loading & error states, and updating your UI via the data prop.

What's in Apollo Boost

Apollo Boost includes some packages that we think are essential to developing with Apollo Client. Here's what's in the box:

  • apollo-client: Where all the magic happens
  • apollo-cache-inmemory: Our recommended cache
  • apollo-link-http: An Apollo Link for remote data fetching
  • apollo-link-error: An Apollo Link for error handling
  • graphql-tag: Exports the gql function for your queries & mutations

The awesome thing about Apollo Boost is that you don't have to set any of this up yourself! Just specify a few options if you'd like to use these features and we'll take care of the rest. For a full list of available options, please refer to the Apollo Boost configuration options documentation.

changelog

CHANGELOG


NOTE: This changelog is no longer maintained. Changes are now tracked in the top level CHANGELOG.md.


vNext

  • Allow fetch to be given as a configuration option to ApolloBoost. Issue #3578 PR #3590
  • The apollo-boost ApolloClient constructor warns about unsupported options. PR #3551

0.1.10

  • No changes.

0.1.9

  • No changes.

0.1.8

  • Allow cache to be given as a configuration option to ApolloBoost. Issue #3220 PR #3561
  • Allow headers and credentials to be passed in as configuration parameters to the apollo-boost ApolloClient constructor. PR #3098

0.1.7

  • No public facing functionality changes.
  • Various internal code cleanup, tooling and dependency changes.