我正在使用Redux和redux-storage
构建一个ReactJS应用程序我需要一个可以将商店重置为初始状态的按钮,所以我写了这样的减速器:
const initialState={...}
export default function ProfilationSelectReducer (state=initialState, action){
switch(action.type){
...
case ProfilationSelectActionTypes.CLEAR_STORE:{
return initialState
}
...
}
}
现在,此代码在应用程序的页面中工作,但在其他页面中,看起来初始状态是正在更改(尽管是常量)导致未清除状态。
有没有想过这种行为?如果需要更多信息,我很乐意与您分享
答案 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()
}
...
}
}
感谢大家的帮助