Javascript 将存储重置为初始状态不起作用

Javascript 将存储重置为初始状态不起作用,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在使用Redux和Redux存储构建一个ReactJS应用程序 我需要一个可以将存储重置为初始状态的按钮,因此我编写了我的reducer,如下所示: const initialState={...} export default function ProfilationSelectReducer (state=initialState, action){ switch(action.type){ ... case ProfilationSelectActionTypes.CLEAR_

我正在使用Redux和Redux存储构建一个ReactJS应用程序

我需要一个可以将存储重置为初始状态的按钮,因此我编写了我的reducer,如下所示:

const initialState={...}

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

            return initialState
        }
 ...
 }
}
现在,这段代码在应用程序的一个页面中工作,但在其他页面中,它看起来像initialState正在更改,尽管它是一个常量,导致未清除状态


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

其他页面可能会在加载时调用更新存储的操作。使用redux开发工具查看商店的更新情况。我推荐的太多了,节省了工作和时间。

我发现这篇文章:

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

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

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

 }
}

谢谢大家的帮助

您能分享一下代码吗?您是如何在不起作用的页面上调用清除存储操作和控制台输出您的状态的?值得注意的是,声明为const的变量仍然是可变的。Const仅防止对象被重新分配。您是否尝试过在Const变量上使用deepFreeze库来查看您的reducer函数是否为纯函数?