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

1.4K
Vistas
React-Redux: no se proporciona reductor para "monedas" clave

No estoy seguro de por qué recibo los siguientes errores.

Solo estoy configurando mi tienda, acciones y reductores, todavía no he llamado a despacho por nada.

Esperado

La aplicación funciona bien, el estado de Redux no se actualiza

Resultados

ingrese la descripción de la imagen aquí

src/index.js
 import React from 'react' import ReactDOM from 'react-dom' import { createStore, applyMiddleware, compose } from 'redux' import { Provider } from 'react-redux' import thunk from 'redux-thunk' import reducer from './reducer' import App from './App' import css from './coinhover.scss' const element = document.getElementById('coinhover'); const store = createStore(reducer, compose( applyMiddleware(thunk), window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() )); ReactDOM.render( <Provider store={ store }> <App /> </Provider>, element);
src/reductor/index.js
 import { combineReducers } from 'redux' import { coins } from './coins' export default combineReducers({ coins });
src/reductor/acciones/monedas.js
 import * as api from '../../services/api' import { storage, addToPortfolio } from '../../services/coinFactory' export const ADD_COIN = 'ADD_COIN' export function getCoin(coin) { return dispatch => { api.getCoin(coin) .then((res_coin) => addToPortfolio(res_coin)) .then((portfolio) => dispatch(updatePortfolio(portfolio))); } } export function updatePortfolio(portfolio) { return { type: ADD_COIN, portfolio } }
finalmente src/reductor/monedas/index.js
 import { ADD_COIN } from './actions' const initialState = []; export default (state = initialState, action) => { switch(action.type) { case ADD_COIN: return action.portfolio; default: return state; } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Su problema radica en cómo está importando su reductor de coins :

 import { coins } from './coins'

Este último intenta obtener una exportación con nombre devuelta desde el archivo en ./coins.

No está utilizando ninguna exportación con nombre, solo export default , por lo tanto, solo necesita importar el archivo de la siguiente manera:

 import coins from './coins';

El uso de este último resultará en el hecho de que las coins contendrán el valor export default ; que será el reductor de monedas.

over 4 years ago · Santiago Trujillo Denunciar

0

Incluso cuando todas sus importaciones se importan correctamente, esto aún puede suceder por otra razón. ¡Dependencia circular!

En mi caso, esto sucedió debido a una dependencia circular en un archivo. Tenía dos dependencias circulares en el proyecto que creé de forma accesoria. Ejemplo: rootReducer.ts -> authSlice.ts -> rootReducer.ts .

Estas dependencias a menudo no son tan fáciles de depurar. Usé este paquete para buscar dependencias circulares. Una vez que se eliminó la dependencia circular, todo estuvo bien.

over 4 years ago · Santiago Trujillo Denunciar

0

Ah lo acabo de encontrar, estaba importando mi reductor de monedas de forma incorrecta...

 import { combineReducers } from 'redux' import coins from './coins' // because I have coins/index.js export default combineReducers({ coins });

en vez de

 import { coins } from './coins'
over 4 years ago · Santiago Trujillo 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