Reactjs 财产';setLink';类型'中缺少;阿波罗客户<;NormalizedCacheObject>';但类型为';阿波罗客户<;任何>;
我正在与react和apollo客户建立一个新的typescript项目。我正试图这样连接客户端:Reactjs 财产';setLink';类型'中缺少;阿波罗客户<;NormalizedCacheObject>';但类型为';阿波罗客户<;任何>;,reactjs,typescript,react-apollo,apollo-client,Reactjs,Typescript,React Apollo,Apollo Client,我正在与react和apollo客户建立一个新的typescript项目。我正试图这样连接客户端: const client = new ApolloClient({ cache: new InMemoryCache(), link: new HttpLink({ uri: 'http://localhost:3000/graphql', headers: { authorization: localStorage.getItem('token'),
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>
);
}
const客户端=新客户端({
缓存:新的InMemoryCache(),
链接:新的HttpLink({
uri:'http://localhost:3000/graphql',
标题:{
授权:localStorage.getItem('token'),
},
}),
});
函数App(){
返回(
const-client=new-client{。。。
但是没有骰子。我不知道为什么与工作示例相比我有决斗类型。帮助?@apollo/client包包含从以前解耦的库(如apollo client和apollo cache inmemory)导入的内容
如果导入内容如下所示:
import { ApolloClient } from 'apollo-client'
import { InMemoryCache, NormalizedCacheObject } from 'apollo-cache-inmemory'
切换到以下位置:
import {
ApolloClient,
InMemoryCache,
NormalizedCacheObject,
} from '@apollo/client'
通过向文件ApolloProvider.d.ts中的客户端属性添加联合类型(|)DefaultClient,解决了修改接口ApolloProviderProps时出现的相同错误
import React from 'react';
import { ApolloClient } from '../../core';
export interface ApolloProviderProps<TCache> {
client: ApolloClient<TCache> | DefaultClient<TCache>;
children: React.ReactNode | React.ReactNode[] | null;
}
export declare const ApolloProvider: React.FC<ApolloProviderProps<any>>;
从“React”导入React;
从“../../core”导入{ApolloClient};
导出接口providerprops{
客户:Apollo客户| DefaultClient;
子项:React.ReactNode | React.ReactNode[]| null;
}
导出声明常量提供程序:React.FC;
我想这就是你强迫用户迁移到@apollo/client 3.0.0的方式。我对他们产生的软件包误导越来越失望。
import {
ApolloClient,
InMemoryCache,
NormalizedCacheObject,
} from '@apollo/client'
import React from 'react';
import { ApolloClient } from '../../core';
export interface ApolloProviderProps<TCache> {
client: ApolloClient<TCache> | DefaultClient<TCache>;
children: React.ReactNode | React.ReactNode[] | null;
}
export declare const ApolloProvider: React.FC<ApolloProviderProps<any>>;