Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 财产';setLink';类型'中缺少;阿波罗客户<;NormalizedCacheObject>';但类型为';阿波罗客户<;任何>;_Reactjs_Typescript_React Apollo_Apollo Client - Fatal编程技术网

Reactjs 财产';setLink';类型'中缺少;阿波罗客户<;NormalizedCacheObject>';但类型为';阿波罗客户<;任何>;

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'),

我正在与react和apollo客户建立一个新的typescript项目。我正试图这样连接客户端:

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>>;