RTK Query CreateAPI TypeScript报错求助:prepareHeaders与useGetDataQuery问题
Redux Toolkit Query TypeScript 错误修复
错误1:prepareHeaders 不存在于 CreateApiOptions 类型
prepareHeaders 是 fetchBaseQuery 的专属配置项,不能直接放在 createApi 的顶层配置里。你需要把它移入 fetchBaseQuery 的参数对象中。
错误2:useGetDataQuery 不存在于对应Api类型
RTK Query会根据你在 endpoints 中定义的查询名称自动生成Hook。你定义的查询是 getWines,所以正确的Hook名称是 useGetWinesQuery,而非 useGetDataQuery。
修复后的完整代码:
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; export const apiSlice = createApi({ reducerPath: "apiSlice", baseQuery: fetchBaseQuery({ baseUrl: "https://api.npoint.io", // 将 prepareHeaders 移到这里 prepareHeaders: (headers) => { headers.set("Content-Type", "application/json"); // 注意:Access-Control-Allow-Origin 是服务器响应头,前端请求设置无意义,建议移除 return headers; }, }), endpoints: (builder) => ({ getWines: builder.query({ query: () => `/0d9ec2e70191f0835e9a`, }), }), }); // 使用正确的Hook名称 export const { useGetWinesQuery } = apiSlice;
内容的提问来源于stack exchange,提问作者Corey
相关产品推荐
相关产品推荐

