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

104
Vistas
Actualización de la tienda después de enviar una acción

Tengo un sitio web de redes sociales donde a los usuarios les pueden gustar/no gustar las publicaciones. Tengo un reductor para el usuario y las publicaciones. Mi compañero de grupo implementó la función Me gusta/No me gusta de la siguiente manera: cada vez que al usuario le gusta una publicación, el cliente llama a mi API con ENDPOINT 'publicaciones/:id/me gusta', lo que incrementará el recuento de Me gusta para la publicación en la base de datos de publicaciones y agregará la publicación en la matriz de publicaciones que le gustan al usuario en la base de datos de usuarios. La API devolverá una respuesta que contiene el usuario y la publicación actualizados, lo que dará como resultado las siguientes acciones.

 dispatch({ type: LIKE_POST_SUCCESS, payload: res.payload.post }) dispatch({ type: UPDATE_USER_SUCCESS, payload: res.payload.user })

Y los siguientes reductores

 case LIKE_POST_SUCCESS: return { ...state, ...action.payload } case UPDATE_USER_SUCCESS: return { ...state, ...action.payload }

Este enfoque funciona, pero siento que su enfoque parece pirateado en ese sentido.

  1. La solicitud de API también devuelve el usuario actualizado junto con la publicación actualizada, aunque ENDPOINT se usa para la base de datos de publicaciones .
  2. Está enviando "UPDATE_USER_SUCCESS" para actualizar el objeto de usuario en la tienda redux aunque no se llame a la API de usuario de actualización.

¿Sería el enfoque correcto

  1. Llamar a la solicitud de publicación Me gusta
  2. Actualización de la tienda de publicaciones usando la carga útil de la solicitud de publicación similar
  3. Realizar una solicitud "GET" a la base de datos del usuario
  4. Actualice el almacén de usuarios utilizando la carga útil de la solicitud "GET"
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Según su pregunta, lo que debe hacerse es básicamente cuando al usuario le gusta una publicación, la base de datos de publicaciones debe actualizarse primero, y solo después de su respuesta exitosa, debe actualizar la base de datos del usuario. Entonces, el enfoque que mencionaste parece ser el correcto a seguir.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Sí, estoy de acuerdo con tu enfoque, y sí, su enfoque es hackish.
En mi opinión, si el POST falla, mantiene el envío a la tienda. Lo que daría como resultado datos erróneos. O si la API de backend devuelve el código de estado 201 pero tiene un error, por ejemplo, el usuario no se actualizó en el backend pero en el frontend se supone que el usuario se actualizó. Por lo tanto, daría como resultado datos incorrectos en el lado de la interfaz.

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