【发布时间】:2020-11-10 07:20:05
【问题描述】:
我正在使用 react 和 apollo 客户端建立一个新的打字稿项目。我正在尝试像这样连接客户端:
const client = new ApolloClient({
cache: new InMemoryCache(),
link: new HttpLink({
uri: 'http://localhost:3000/graphql',
headers: {
authorization: localStorage.getItem('token'),
},
}),
});
function App() {
return (
<ApolloProvider client={client}>
<div className="App">
...content goes here
</div>
</ApolloProvider>
);
}
但是,这会在运行时引发错误:
TypeScript error in /src/App.tsx(60,21):
Property 'setLink' is missing in type 'ApolloClient<NormalizedCacheObject>' but required in type 'ApolloClient<any>'. TS2741
58 | function App() {
59 | return (
> 60 | <ApolloProvider client={client}>
| ^
61 | <div className="App">
由于这似乎是一个基于类型的问题,因此我在根据此处的示例创建 Apollo 客户端时尝试明确:https://github.com/apollographql/apollo-client/issues/2503
const client = new ApolloClient<NormalizedCacheObject>{ ...
但没有骰子。与工作示例相比,我不确定为什么我有决斗类型。帮忙?
【问题讨论】:
-
我猜这就是你强制用户迁移到@apollo/client 3.0.0 的方式。
标签: reactjs typescript react-apollo apollo-client