你好!我不会请求,我不知道如何请求信息
const { id } = useParams();
const { data, isLoading } = jsonApi.useFetchStrategyQuery(id);
const { currentData } = catalogApi.useGetFundQuery(data.id)
拥有上述钩子,并询问如何在第2行钩子完成后调用第4行钩子。
无法应用useEffect()😢
第一个挂钩:
export const jsonApi = createApi({
reducerPath: 'jsonApi',
baseQuery: fetchBaseQuery({ baseUrl: config.jsonUrl }),
endpoints: build => ({
fetchStrategy: build.query<IStrategy, string | number | undefined>({
query: id => ({
url: `/static/strategies/${id}.json`,
}),
}),
fetchLegalEntity: build.query<LegalEntity, string>({
query: name => ({
url: `/static/legalEntities/${name}.json`,
}),
}),
}),
});
第二钩:
export const catalogApi = createApi({
reducerPath: 'catalogApi',
baseQuery: fetchBaseQuery({ baseUrl: config.infoApiUrl }),
endpoints: build => ({
getFund: build.query<Catalog[], string | number | undefined>({
query: id => ({
url: `/api/Products/${id}`,
}),
}),
}),
});
export const { useGetFundQuery } = catalogApi;
1条答案
按热度按时间ql3eal8s1#
当
data.id
中没有值时,您可以尝试使用skipToken
来跳过查询,如下所示:上面,如果
data?.id
是undefined
或null
,skipToken
将作为一个参数传递,告诉redux跳过查询。一旦您的数据被提取并且data.id
被定义,您的查询将重新运行。您可以查看redux工具包文档中的this部分以了解更多关于跳过的信息。