You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目配置ApolloClient的createHttpLink出现TS2739错误如何解决?

报错原因
  • 你当前使用的createHttpLink来自已废弃的旧包apollo-link-http,它导出的ApolloLink类型定义和@apollo/client v3内置要求的ApolloLink类型不兼容,导致类型校验失败。
解决方案
  1. 首先卸载不需要的旧依赖
    运行如下命令移除旧的apollo-link-http包:
# 使用npm
npm uninstall apollo-link-http
# 使用yarn
yarn remove apollo-link-http
  1. 调整导入语句
    @apollo/client v3已经内置了createHttpLink能力,直接从内置包导入即可,无需额外安装第三方依赖。
  2. 调整后的完整代码示例
import React from "react";
import "./app.scss";

import {
  ApolloLink,
  ApolloClient,
  ApolloProvider,
  InMemoryCache,
  createHttpLink // 改为从@apollo/client内置导入
} from "@apollo/client";

function App() {
  const client = new ApolloClient({
    link: createHttpLink({
      uri: "http://localhost:4000/graphql",
      credentials: "include",
    }),
    cache: new InMemoryCache(),
  });
  return (
    <ApolloProvider client={client}>
      <div className="App">
        <h1>Hello there</h1>
      </div>
    </ApolloProvider>
  );
}

export default App;
补充说明
  • 如果你还在使用其他apollo-link-*前缀的旧包(如apollo-link-error、apollo-link-context等),也都可以直接从@apollo/client中导入对应的能力,无需单独安装旧版本包,避免再次出现类型不兼容问题。
  • 如果修改后仍有残留类型报错,可以删除项目中的node_modules文件夹、package-lock.json或yarn.lock文件后重新安装依赖,再重启IDE的TypeScript服务即可解决。

内容的提问来源于stack exchange,提问作者chai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:36:09