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

RTK Query出现TS(2742)类型引用错误,如何修复?

修复RTK Query生成Hook的TS(2742)错误

方法一:手动添加类型注解

直接从@reduxjs/toolkit/query/react导入UseQueryHook类型,为每个导出的Hook显式标注类型,解决类型推断的可移植性问题:

import { createApi, fetchBaseQuery, UseQueryHook } from '@reduxjs/toolkit/query/react'

// 可提前定义接口来约束返回数据类型,示例:
// interface ChapterList {
//   id: number;
//   title: string;
// }

export const postsApi = createApi({
  reducerPath: "api",
  baseQuery: fetchBaseQuery({ baseUrl: "url" }),
  endpoints: (builder) => ({
    getChaptersList: builder.query({
      query: () => "/chapters-list/",
    }),
    getChapter: builder.query({
      query: (chapter:string) => `/chapters-list/${chapter}/`,
    }),
  }),
});

// 替换unknown为实际返回数据的接口类型(比如上面的ChapterList)
export const useGetChaptersListQuery: UseQueryHook<unknown, void> = postsApi.useGetChaptersListQuery;
export const useGetChapterQuery: UseQueryHook<unknown, string> = postsApi.useGetChapterQuery;

方法二:更新Redux Toolkit版本

该错误多由旧版RTK的类型推断bug导致,升级到最新稳定版即可自动修复:

npm install @reduxjs/toolkit@latest
# 或使用yarn
yarn add @reduxjs/toolkit@latest

方法三:临时调整TypeScript配置(不推荐)

若暂时无法升级或添加类型注解,可在tsconfig.json中关闭相关严格检查选项,注意这会影响其他类型推断的准确性,仅作应急方案:

{
  "compilerOptions": {
    "preserveValueImports": false
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:00:57