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

RTK Query中useGetQuery返回data变为_data的原因排查

问题:useGetQuery解构时data字段消失,仅存在_data

原本可以正常使用以下解构方式获取数据:

const {data, isSuccess} = useGetQuery();

现在只能写成:

const {_data, isSuccess} = useGetQuery();

同时出现TypeScript错误提示:

Property 'data' does not exist on type. const data: any

附上我的Api切片代码作为参考:

import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
import { GetResponse, GetRequest, mapResponse } from '../dto';

export const getApiSlice = createApi({
  reducerPath: 'getApi',
  baseQuery: fetchBaseQuery({
    baseUrl: 'localhost:3000/api',
    prepareHeaders: headers => {
      headers.set('X-Api-Key', '********');
      return headers;
    },
  }),
  keepUnusedDataFor: 999,
  endpoints: builder => ({
    //get query
    get: builder.query<GetResponse | undefined, GetRequest>({
      query: ({ keywords, page = 1, perPage = 20 }) =>
        `get/?keywords=${keywords}&page=${page}&perPage=${perPage}`,
      transformResponse: raw => {
        try {
          return mapResponse(raw);
        } catch (error) {
          console.error('get error:', error);
        }
      },
    }),
  }),
}); 
export const { useGetQuery, usePrefetch } = getApiSlice;

可能的原因及解决方法
  • TypeScript类型缓存异常
    IDE的TypeScript服务可能缓存了旧的类型定义,导致无法识别data字段。解决方法:重启IDE,或者在VSCode中按Ctrl+Shift+P选择"TypeScript: Restart TS Server"清除缓存。

  • transformResponse返回值不明确
    你的transformResponse在catch块中未显式返回值,默认返回undefined,这会干扰TypeScript对返回类型的推断,进而影响useGetQuery的返回类型定义。可以修改catch块,显式返回undefined或重新抛出错误:

    transformResponse: raw => {
      try {
        return mapResponse(raw);
      } catch (error) {
        console.error('get error:', error);
        return undefined; // 显式返回undefined,明确类型
        // 或者重新抛出错误:throw error;
      }
    },
    
  • Redux Toolkit依赖版本变更
    检查@reduxjs/toolkit的版本,如果最近有自动更新,新版本可能调整了RTK Query的类型定义。可以回退到之前正常工作的版本测试,比如在package.json中指定版本号后重新安装依赖。

  • IDE插件或配置冲突
    若安装了Redux或TypeScript相关第三方插件,可能存在配置冲突。尝试禁用非必要插件后,再检查问题是否解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 09:01:18