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

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

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 Report

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 Report

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