1a50d99fbd
* Make withApollo work with _app.js components * Support wrapping functional _App * Add apolloClient to NextPageContext & NextPageContext * Propertly call App.getInitialProps if used in NextAppContext * Add Automatic Static Optimization warning * Update deps * Reduce API surface * Move back to singleton client * Improve documentation * Remove Head.rewind() We can get rid of .rewind by now as the latest next/head no longer uses legacy context. * Add extra docs * Reuse apolloState coming from previous hocs Co-authored-by: Joe Haddad <timer150@gmail.com>
18 lines
738 B
JavaScript
18 lines
738 B
JavaScript
import { ApolloClient } from 'apollo-client'
|
|
import { InMemoryCache } from 'apollo-cache-inmemory'
|
|
import { HttpLink } from 'apollo-link-http'
|
|
import fetch from 'isomorphic-unfetch'
|
|
|
|
export default function createApolloClient(initialState, ctx) {
|
|
// The `ctx` (NextPageContext) will only be present on the server.
|
|
// use it to extract auth headers (ctx.req) or similar.
|
|
return new ApolloClient({
|
|
ssrMode: Boolean(ctx),
|
|
link: new HttpLink({
|
|
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', // Server URL (must be absolute)
|
|
credentials: 'same-origin', // Additional fetch() options like `credentials` or `headers`
|
|
fetch,
|
|
}),
|
|
cache: new InMemoryCache().restore(initialState),
|
|
})
|
|
}
|