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

414
Visualizações
React/Redux: dónde procesar los datos de la respuesta de la API y enviar la acción de los reductores

Soy nuevo en React y Redux, por lo que esta es una pregunta de mejores prácticas.

Tengo un creador de acciones que activa una llamada a la API y envía la respuesta a mi reductor:

 export function loadDrawSuccess(draw) { return { type: ActionTypes.LOAD_DRAW_SUCCESS, draw}; } export function loadDraw() { return function(dispatch) { dispatch(beginAjaxCall()); return drawApi.getDraw().then(draw => { dispatch(loadDrawSuccess(draw)); }).catch(() => { dispatch(ajaxCallError()); }); }; }

Ahora... En mi reductor, estoy procesando la respuesta para extraer los datos que necesito de ella...

 function extractNextOpenDraw(draws) { if (!draws || typeof draws.content === 'undefined'){ return {}; } let openDraws = draws.content.filter(draw => {return draw.status === 'open';}); let sortedOpenDraws = openDraws.sort((draw1, draw2) => { return DateHelper.getDateObjectFromUtcDateString(draw1.closeTimeUtc) - DateHelper.getDateObjectFromUtcDateString(draw2.closeTimeUtc); }); return sortedOpenDraws[0]; } export default function drawReducer(state = initialState.draw, action) { switch (action.type) { case types.LOAD_DRAW_SUCCESS: { return objectAssign({}, extractNextOpenDraw(action.draw), {dateModified: action.dateModified}); } ........ default: return state; } }

mis preguntas son

  1. ¿Estoy en lo correcto al procesar la respuesta en el reductor, o debería manejarse en la clase API o en el creador de la acción?
  2. En una instancia en la que la API devuelve sin error, pero el formato de respuesta no se ajusta al formato esperado, me gustaría enviar la acción ajaxCallError(). ¿Es correcto hacer esto dentro del reductor?
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

  1. No, el reductor debe ser lo más limpio posible y solo actualizar la tienda con los valores que se le sirven. Debe analizar la respuesta en la acción en sí o crear un contenedor para la API. Creo que hacerlo en la acción en sí es lo suficientemente bueno.
  2. No, maneje todos esos errores en la acción y envíelos allí. El reductor no puede ni debe despachar acciones.
over 4 years ago · Santiago Trujillo 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
Assistente virtual