Проблема localStorage в заголовке авторизации apollo в Next JS и React - PullRequest
0 голосов
/ 13 марта 2020

Я использую это решение для использования клиента apollo в моем проекте Next JS и React.

Почему я не могу использовать localStorage в withApollo. js?

Я запускаю этот код:

import withApollo from 'next-with-apollo';`
import ApolloClient, { InMemoryCache } from 'apollo-boost';
import { ApolloProvider } from '@apollo/react-hooks';

export default withApollo(
  ({ initialState }) => {
    return new ApolloClient({
      uri: 'http://localhost:8000/graphql/',
      cache: new InMemoryCache().restore(initialState || {}),
      headers: {
        authorization: localStorage.getItem("token")
      }
    });
  },
  {
    render: ({ Page, props }) => {
      return (
        <ApolloProvider client={props.apollo}>
          <Page {...props} />
        </ApolloProvider>
      );
    }
  }
);

и вижу эту ошибку:

ReferenceError: localStorage is not defined
module.exports../lib/withApollo.js.__webpack_exports__.default.next_with_apollo__WEBPACK_IMPORTED_MODULE_1___default.render.Page.Page ./lib/withApollo.js:11

Можете ли вы помочь мне?

...