微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RTK查询:如何查询一组ID并返回一组检索到的数据?

如何解决RTK查询:如何查询一组ID并返回一组检索到的数据?

我正在使用“Redux Toolkit Query”并遇到这样的情况:我有一个地点 id 数组并且想要返回一个检索到的地点数组。但是,使用我当前的设置,我只能查询一个地点,而不能查询整个编译的地点列表。

调用查询的钩子:

function ShowPlaceList() {
  const placeIDs = [1,2,3,4,5];

  const { data,isFetching,isLoading } = useGetPlaceByIdQuery({
    placeID: placeIDs,});

  // data should be an array 
  return (
    <div>
      {data.map(function (item,i) {
        return <ShowPlace {...item} />;
      })}
    </div>
  );
} 

简化切片:

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


export const placeApi = createApi({
  reducerPath: 'placeApi',baseQuery: fetchBaseQuery({ baseUrl: 'https://providePlace.co/api/v2/' }),endpoints: (builder) => ({
    getGetPlaceById: builder.query({
      query: ({placeID}) => `place/${placeID}`,}),})


export const { useGetPlaceByIdQuery } = placeApi

我很高兴有任何提示

解决方法

由于您受到钩子规则的约束并且不能在循环中调用钩子,因此最自然的方法是在 array-contains-any 中调用 useGetPlaceByIdQuery,而不是父组件。>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。