ApolloClient из apollo-boost попытался присвоить свойство только для чтения - PullRequest
2 голосов
/ 22 мая 2019

Я работаю с Reaction-native и пытаюсь загрузить Apollo из apollo-boost.Когда я пытаюсь импортировать клиента, я получаю сообщение об ошибке «Попытка назначить свойство только для чтения».Я не уверен, как обойти это, и по трассировке стека кажется, что он находится в пакете apollo-boost.Кто-нибудь знает, как я могу обойти это?full stack trace

edit: Добавление изображения и деталей.Я получаю это, когда пытаюсь загрузить приложение через Expo.Когда это начнется, я понял.Первый файл в моем приложении, который упоминает трассировка стека StoresScreens, - это строка импорта.

import ApolloClient from 'apollo-boost';

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Я получил ту же ошибку.Решено с помощью apollo-client, apollo-cache-inmemory, apollo-link-http для создания клиента Apollo вместо использования apollo-boost.

Вот код App.js

import React from 'react'
import ApolloClient from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { HttpLink } from 'apollo-link-http';

const withProvider = (Component) => {

  const cache = new InMemoryCache();
  const link = new HttpLink({
    uri: 'your-url'
  })
  const client = new ApolloClient({
    link,
    cache
  });
  return class extends React.Component {
    render() {
      return (
        <ApolloProvider client={client}>
          <Component {...this.props} client={client} />
        </ApolloProvider>
      )
    }
  }
}
export default withProvider(App);
1 голос
/ 26 мая 2019

По крайней мере, используя Typescript, в качестве временного решения вы можете сделать:

import ApolloClient from "apollo-boost/lib/index";

Похоже, с этой проблемой: https://github.com/apollographql/apollo-client/issues/4843

...