Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!