我正在使用react-native,并尝试从apollo-boost加载Apollo。当我尝试导入客户端时,收到错误消息“尝试分配给只读属性”。我不确定如何解决此问题,并且从堆栈跟踪看来,它位于apollo-boost软件包中。有人知道我该如何解决吗?
编辑:添加图片和详细信息。 当我尝试通过Expo加载应用程序时得到了这个提示。就在开始时,我明白了。堆栈跟踪中提到我的应用程序中的第一个文件StoresScreens,该行仅是导入行。
import ApolloClient from 'apollo-boost';
答案 0 :(得分:2)
我遇到了同样的错误。通过使用 apollo客户端,apollo-cache-memory,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 :(得分:1)
至少可以使用Typescript作为临时解决方法,您可以这样做:
import ApolloClient from "apollo-boost/lib/index";
似乎与此问题相关:https://github.com/apollographql/apollo-client/issues/4843