Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
Reat Native & RTK Query: llame a otro punto final cuando la solicitud sea exitosa

Soy nuevo en Redux y RTK Query y no entiendo cómo puedo obtener datos de otro punto final cuando la respuesta de otro punto final es exitosa.

Creé una API como esa:

 import { Config } from '@/Config' import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react' const baseQuery = fetchBaseQuery({ baseUrl: Config.API_URL }) const baseQueryWithInterceptor = async (args, api, extraOptions) => { let result = await baseQuery(args, api, extraOptions) if (result.error && result.error.status === 401) { // Deal with unauthorised } return result } export const api = createApi({ baseQuery: baseQueryWithInterceptor, endpoints: () => ({}), })

Tengo módulos para cada recurso, ejemplo:

 // /modules/matches import { api } from '../../api' import { fetchMatches } from '@/Services/modules/matches/fetchMatches' export const matchApi = api.injectEndpoints({ endpoints: build => ({ fetchMatches: fetchMatches(build), }), overrideExisting: false, }) export const { useFetchMatchesQuery } = matchApi // /modules/matches/fetchMatches export const fetchMatches = build => { return build.query({ query: type => ({ url: `matches/${type}` }) }) }

Entonces, en mi componente lo estoy llamando con:

 const { data: matches, error, isLoading } = useFetchMatchesQuery('explorer')

Ahora, lo que debo hacer cuando useFetchMatchesQuery tiene éxito es:

  1. Cree una matriz con la identificación de todas las coincidencias a partir de los datos de respuesta useFetchMatchesQuery
  2. Llame a otra consulta para obtener otros datos con matchsIds en params
  3. Use la respuesta en el mismo componente que representa los datos de matches .
about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

La opción principal aquí es tener un segundo gancho useSomeOtherQuery() en el mismo componente, pero "omitir" esa consulta hasta que se complete la primera consulta. Esto se puede hacer pasando {skip: false} como una opción, o la variable skipToken como argumento de consulta:

https://redux-toolkit.js.org/rtk-query/usage/conditional-fetching

about 4 years ago · Santiago Gelvez Relatório

0

Aquí está la solución que usé:

 // /Containers/MyContainer const [matchesIds, setMatchesIds] = useState([]) const { data: matches, error: matchesError, isLoading: matchesIsLoading, } = useFetchMatchesQuery('explorer') const { data: winnerMarkets, error: winnerMarketsError, isLoading: winnerMarketsIsLoading, } = useFetchWinnerMarketsQuery(matchesIds, { skip: matchesIds.length === 0 }) useEffect(() => { if (matches) { const mIds = [] matches.map(match => { mIds.push(match.id) }) setMatchesIds(mIds) } }, [matches])
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda