Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

181
Vistas
¿Se puede usar router.push desde Redux thunk? ¿Es una buena práctica?

Tengo este elemento de anclaje:

 <a className="btn btn-sm btn-circle" href={`https://www.facebook.com/sharer/sharer.php?u=${ process.env.NEXT_PUBLIC_ENVIRONMENT == "prod" ? "https://tikex.com" : "https://tikex-staging.com" }/share/${organizationSlug}/${postId}&quote=${postSurveySchemaDTO?.caption}`} onClick={(e) => { dispatch( createShare({ tempUserId: "e3445c3b-5513-4ede-8229-d258ed4418ae", postId, }) ); }} > Megosztom </a>

Probé muchas veces, tal vez solo una vez, pero parece que onclick y networking no se activaron en ese caso, 99% bien. ¿Es mejor activar la navegación también desde onClick después de realizar la red?

¿Puedo activar router.push() desde reducer / thunk ?

¿Como esto?

 export const createShare = createAsyncThunk( `${namespace}/createShare`, async (props: any, { dispatch }) => { const { data } = await axios({ method: 'post', url: 'share', data: props, headers: { crossDomain: true }, }).then((res) => { router.push(`http://...`) return res }) return data } )
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que tienes una condición de carrera.

  1. el <a> está tratando de navegar el navegador lejos del href
  2. onClick tiene un disparador de dispatch(createShare(...))

Sugeriría evitar el evento <a> predeterminado y coreografiar manualmente los dos eventos separados:

 onClick(e => { e.preventDefault() // stop the browser from trying to navigate away dispatch( createShare({ ... thenNavigateTo: e.target.href // or whatever }) ) }

Si necesita un router para navegar, puede pasar un thunk a la acción enviada:

 onClick(e => { e.preventDefault() // stop the browser from trying to navigate away dispatch( createShare({ ... andThen: _ => router.push(e.target.href) // or whatever }) ) }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda