Estoy tratando de almacenar datos de mi componente de formulario en mi tienda. Pero cuando trato de enviar la acción y devolver la carga útil de la acción al estado, obtengo un error que es,
TypeError: state.users is undefinedese reductor de acción es
export const addUserReducer = (state = { users: [] }, action) => { switch (action.type) { case "ADD_USER_REQUEST": return { loading: true, }; case "ADD_USER_SUCCESS": return { ...state, users: [...state.users, action.payload], }; default: return state; } };La tienda Redux para la aplicación es,
import { combineReducers, createStore, applyMiddleware } from "redux"; import { addUserReducer } from "./Reducers/addUserReducer"; import { composeWithDevTools } from "redux-devtools-extension"; import thunk from "redux-thunk"; const finalReducer = combineReducers({ addUserReducer: addUserReducer, }); const composeEnhancers = composeWithDevTools({ // Specify here name, actionsBlacklist, actionsCreators and other options }); const usersFromStorage = localStorage.getItem("Users") ? JSON.parse(localStorage.getItem("Users")) : []; console.log(usersFromStorage); const initialState = { addUserReducer: { users: usersFromStorage, }, }; const store = createStore( finalReducer, initialState, composeEnhancers(applyMiddleware(thunk)) ); export default store;He intentado resolver el problema utilizando muchos métodos, pero aún no sé dónde está el problema principal.
En el primer caso de su cambio, también debe devolver la otra parte del estado:
case "ADD_USER_REQUEST": return { ...state, loading: true, };