将商店重置为initialState不起作用

时间:2018-01-26 18:43:01

标签: javascript reactjs redux

我正在使用Redux和redux-storage

构建一个ReactJS应用程序

我需要一个可以将商店重置为初始状态的按钮,所以我写了这样的减速器:

const initialState={...}

export default function ProfilationSelectReducer (state=initialState, action){
 switch(action.type){
 ...
 case ProfilationSelectActionTypes.CLEAR_STORE:{

            return initialState
        }
 ...
 }
}

现在,此代码在应用程序的页面中工作,但在其他页面中,看起来初始状态是正在更改(尽管是常量)导致未清除状态。

有没有想过这种行为?如果需要更多信息,我很乐意与您分享

2 个答案:

答案 0 :(得分:0)

其他页面可能会调用在加载时更新商店的操作。使用redux dev工具查看商店的更新方式。我不能推荐它,节省工作时间和时间。

答案 1 :(得分:0)

我想到了这篇文章: https://stackoverflow.com/a/35477308/8608574

我将initialState的声明更改为函数。这是我现在的代码:

function getInitialState(){
 return{...}
}

export default function ProfilationSelectReducer (state=getInitialState(), action){
 switch(action.type){
 ...
 case ProfilationSelectActionTypes.CLEAR_STORE:{
        return getInitialState()
    }
 ...

 }
}

感谢大家的帮助