RTK查询:如何查询一组ID和return一组检索到的数据?
RTK Query: How to query an array of IDs and return an array of retrieved data?
我正在使用“Redux Toolkit 查询”和 运行 处理我有一组地点 ID 并想要 return 一组检索到的地点的情况。但是,根据我当前的设置,我只能查询一个地点,而不能查询整个地点列表。
我调用查询的挂钩:
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
我很高兴得到任何提示!
由于您受制于钩子规则并且不能在循环中调用钩子,因此最自然的做法是在 ShowPlace
中调用 useGetPlaceByIdQuery
,而不是在父组件中调用。
我正在使用“Redux Toolkit 查询”和 运行 处理我有一组地点 ID 并想要 return 一组检索到的地点的情况。但是,根据我当前的设置,我只能查询一个地点,而不能查询整个地点列表。
我调用查询的挂钩:
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
我很高兴得到任何提示!
由于您受制于钩子规则并且不能在循环中调用钩子,因此最自然的做法是在 ShowPlace
中调用 useGetPlaceByIdQuery
,而不是在父组件中调用。