0
我正在嘗試基於Dan Abramov here的建議來實現redux重置狀態操作。我設置我的減速器和存儲,像這樣:Redux - 重置狀態
Index.js:
import {applyMiddleware,createStore} from 'redux';
import combineReducers from './reducers/index';
import {wrapStore,alias} from 'react-chrome-redux';
import thunk from 'redux-thunk';
import aliases from './aliases/aliases';
const combineAppReducers = (state, action) => {
if (action.type === 'LOG_OUT') {
state = undefined;
}
return combineReducers(state, action)
}
const middlewares = [alias(aliases), thunk];
const store = createStore(combineAppReducers,applyMiddleware(...middlewares));
wrapStore(store, {
portName: 'example'
});
Reducers.js:
import {combineReducers} from 'redux';
import userAuthReducer from './userAuthReducer';
import manageTeamsReducer from './manageTeamsReducer';
function lastAction(state = null, action) {
return action;
}
export default combineReducers({
userAuthReducer,manageTeamsReducer,lastAction
});
看起來好像我已經正確設置好一切,但應用程序沒有重置狀態,任何人都可以發現我出錯的地方嗎?
這裏是它的另一篇文章,我更緊隨其後:
https://medium.com/@agungsantoso/how-to-reset-the-state-of-a-redux-store-7f9d85b190bc
你試過設置狀態到一個空對象?像'state = {}'? – lumio
你還得到什麼錯誤? – lumio
我認爲這不是最好的方法,但是,您可以將您的狀態恢復爲第一個調度值:'@@ INIT'操作。 – Hitmands