¡Buenos días! No puedo hacer la solicitud, no sé cómo solicitar información
const { id } = useParams(); const { data, isLoading } = jsonApi.useFetchStrategyQuery(id); const { currentData } = catalogApi.useGetFundQuery(data.id)Tenga los anzuelos anteriores y pregúntese cómo llamar al anzuelo en la línea 4 después de que se complete el anzuelo en la línea 2.
useEffect() no se puede aplicar 😢
Primer gancho:
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`, }), }), }), });Segundo gancho:
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;Puede probar y usar un skipToken para omitir su consulta cuando data.id no tiene un valor como este:
import { skipToken } from '@reduxjs/toolkit/query/react'; ... const { data, isLoading } = jsonApi.useFetchStrategyQuery(id); const { currentData } = catalogApi.useGetFundQuery(data?.id ?? skipToken); Arriba, si data?.id no está undefined o es null , skipToken se pasa como un argumento que le dice a redux que omita la consulta. Una vez que se hayan obtenido sus datos y se haya definido data.id , su consulta se volverá a ejecutar. Puede ver esta parte de los documentos del kit de herramientas de redux para obtener más información sobre los saltos.