以下代码使用RTK查询创建Redux Hook:
export const specialtiesApi = createApi({
reducerPath: 'specialtiesApi',
baseQuery: fetchBaseQuery({ baseUrl: 'https://someplace.com/' }),
endpoints: (builder) => ({
getSpecialties: builder.query({
query: (name) => `specialties`,
}),
}),
});
export const { useGetSpecialtiesQuery } = specialtiesApi;
最后一行代码抛出一个Typescript编译时错误:
Property 'useGetSpecialtiesQuery' does not exist on type 'Api<BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, { getSpecialties: QueryDefinition<...>; }, "specialtiesApi", never, unique symbol>'
我的代码是使用Typescript 4.3.5从https://redux-toolkit.js.org/rtk-query/usage-with-typescript改编而来的。
我看不出有什么问题。有什么想法吗?
3条答案
按热度按时间yftpprvb1#
确保从
@reduxjs/toolkit/query/react
模块而不是@reduxjs/toolkit/dist/query
导入createApi
和fetchBaseQuery
函数。它应该是:
非:
软件包版本:
9lowa7mx2#
我忘记在导出中添加useMutation,这就是导致我出现问题的原因。
从
到
nnsrf1az3#
另外,不要忘记将
use
和Query
添加到导出的钩子的名称中。例如:
您的端点名称:
getPhotoList
要导出的挂钩的名称:
useGetPhotoListQuery