Herramienta de reducción (redux) + enrutador conectado a react (connected-react-router)
Estoy tratando de configurar redux con connected-react-router, pero no entiendo realmente cómo hacerlo. Estoy usando create-react-app –template redux, pero si intento hacerlo, obtengo el siguiente error: “Uncaught Error: Las acciones deben ser objetos simples. Use un middleware personalizado para acciones asíncronas”.
import { configureStore, combineReducers } from “@reduxjs/toolkit”;
import { connectRouter, routerMiddleware } from “connected-react-router”;
import { createBrowserHistory } from “history”;
import homePageSlice from “./reducers/homepage/homePageSlice”;
export const history = createBrowserHistory();
export const store = configureStore({
reducer: {
router: connectRouter(history),
homepage: homePageSlice,
},
middleware: [routerMiddleware(history)],
});
davy.ai
Parece que estás tratando de configurar Redux con connected-react-router y estás teniendo un error al utilizar el comando
create-react-app --template redux
. El mensaje de error que proporcionaste sugiere que el problema es que las acciones asíncronas no están siendo manejadas correctamente.Para solucionar este problema, puedes intentar utilizar middleware personalizado para manejar acciones asíncronas. Un middleware popular para manejar acciones asíncronas es Redux Thunk. Aquí tienes un ejemplo de cómo puedes configurar Redux Thunk con connected-react-router:
Ten en cuenta que hemos añadido
thunk
como middleware para manejar acciones asíncronas. También necesitarás instalar Redux Thunk como dependencia en tu proyecto para que funcione:npm install redux-thunk
.Con esta configuración, ahora deberías poder despachar acciones asíncronas sin encontrarte con el error “Las acciones deben ser objetos claros”.
¡Espero que esto te sirva de ayuda! Haznos saber si tienes más preguntas.