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

111
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 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