RTK 查询自动生成的挂钩不存在

0 typescript react-redux react-hooks rtk-query

我最近开始了一个项目,我使用 redux/toolkit 及其查询 API 来管理我的数据。

我尝试使用自动生成的钩子,但我从打字稿中收到错误,说他们找不到它们。这是我编写的代码示例:

export const elementsApi = api.injectEndpoints({
  endpoints: (build) => ({
    getElements: build.query<
      {
        rootParentId: string;
      } & GetElementReturnType,
      number
    >({
      query: (search) => ({ url: `Menu/GetFiles${search}` }),
      transformResponse: ({ data }: { data: BackendMenuType }) => {
        return {
          rootParentId: data.MenuId,
          ...getElements(data),
        };
      },
      providesTags: (result, _error, id) => [{ type: elements, id }],
    }),
  }),
});

export const { useGetElementsQuery } = elementsApi;
Run Code Online (Sandbox Code Playgroud)

当我尝试获取钩子时收到的错误消息:

Property 'useGetElementsQuery' does not exist on type 'Api<BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, { getElements: QueryDefinition<number, BaseQueryFn<...>, string, { ...; } & GetElementReturnType, "api">; }, "api", string, unique symbol>'.
Run Code Online (Sandbox Code Playgroud)

我确保我的 VSCode 设置为高于 4.1+ 的版本,正如这个问题所建议的。 这是5.0.4

我的开发依赖项中安装的打字稿版本也是 5.0.4

还有一件事我忘记检查了吗?

phr*_*hry 7

您可能createApi从导入@reduxjs/toolkit/query,而不是@reduxjs/toolkit/query/react- 所以您使用了非钩子版本。