в моем приложении я использую redux
с redux-thunk
. Там есть кнопка RESET , когда пользователь нажимает на нее, я хочу INITIALIZE
все избыточное состояние вместо window.location.reload()
.
index.js (индексный файл редукторов)
import { combineReducers } from 'redux';
import { reducer as reduxFormReducer } from "redux-form";
import authReducer from './auth_reducer';
import main from './main'
import BookingData from './booking_reducer';
import StepOne from './stepone';
import StepTwo from './stepTwo'
const rootReducer = combineReducers({
form: reduxFormReducer,
auth: authReducer,
Main:main,
StepOneReducer:StepOne,
StepTwoReducer:StepTwo,
BookingData:BookingData,
})
export default rootReducer;
здесь каждое значение объекта содержит отдельный файл редуктора , а каждый файл редуктора имеет число состояний
App.js (корневой файл)
import ReactDOM from "react-dom";
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import reduxThunk from 'redux-thunk';
import { composeWithDevTools } from 'redux-devtools-extension';
import AppRouter from './routers/AppRouter';
import reducers from './reducers';
const middleware = [
reduxThunk,
];
const store = createStore(reducers, composeWithDevTools(
applyMiddleware(...middleware),
// other store enhancers if any
));
const token = localStorage.getItem('token');
if(token){
store.dispatch({type:AUTH_USER});
}
ReactDOM.render(
<Provider store={store}>
<AppRouter />
</Provider>
, document.getElementById('app'));
, поэтому моя проблема в том, что когда нажимаю кнопку сброса , она вызывает action Creator
, она отправляет действие, когда дело доходит до редуктора (индексного редуктора). Я не могу сбросить все состояние.
я видел этот вопрос также, но здесь я не хочу менять структуру файла моего редуктора индекса, потому что мне нужно экспортировать оба, а логика проекта также получает беспорядок.
как я могу инициализировать все избыточное состояние, когда пользователь нажимает кнопку сброса