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

292
Vistas
Cómo usar reducer en redux en react

Estoy usando Redux para la administración del estado, me he enfrentado a un problema en la función del reductor aquí está la imagen de mi consola, puede ver que la acción del producto está proporcionando mis datos pero el reductor no está pasando mi función

ingrese la descripción de la imagen aquí

aquí está mi código de ProductAction:

 export const getProductsbyFind = (myvariable) =>async (dispatch)=>{ try { console.log(myvariable) dispatch({type: ALL_PRODUCTS_REQUEST_BY_ID}) const{ data } = await axios.get(`/api/v1/product/${myvariable}`) console.log(data) dispatch({ type: ALL_PRODUCTS_SUCCESS_BY_ID, payload: data }) } catch (error) { dispatch({ type:ALL_PRODUCTS_FAIL, payload: error.response.data.message }) } }

aquí está el código de Reducer:

 export const productReducersById = (state = { products: [] }, action) => { switch (action.type) { case ALL_PRODUCTS_REQUEST_BY_ID: return { loading: true, products: [] } case ALL_PRODUCTS_SUCCESS_BY_ID: return { loading: false, products: action.payload.products, productsCount: action.payload.productsCount } case UPDATE_QUANTITY_BY_ID: const { index, quantity } = action.payload; const prods = state.products.map((p, i) => { if (i !== index) return p; return { ...p, quantity } }); return { loading: true, products: prods } case ALL_PRODUCTS_FAIL_BY_ID: return { loading: false, error: action.payload } case CLEAR_ERRORS_BY_ID: return { ...state, error: null } default: return state } }

aquí está el código de mi página donde quiero obtener mis datos:

 const { loading, products, error, productCount } = useSelector(state => state.products); console.log(products) useEffect(() => { dispatch(getProductsbyFind(myvariable)); }, [dispatch])
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tienes un error tipográfico en tu reductor:

 case ALL_PRODUCTS_SUCCESS_BY_ID: return { loading: false, - products: action.payload.products, + products: action.payload.product, productsCount: action.payload.productsCount }

(Además, productsCount no existe en su carga útil, por lo que quedará undefined ).

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