Reactjs 我们可以在redux中初始化等于0的状态吗?
在我的代码中,我初始化了减速器中的Reactjs 我们可以在redux中初始化等于0的状态吗?,reactjs,redux,Reactjs,Redux,在我的代码中,我初始化了减速器中的状态=0。我不知道它是怎么变成1的。下面是我的代码: export default function (state=0, action={}) { var newState; switch (action.type) { case 'SHOWLOADINGBAR': newState = state + 1; break; case 'HIDELOADINGBAR': newState
状态=0
。我不知道它是怎么变成1的。下面是我的代码:
export default function (state=0, action={}) {
var newState;
switch (action.type) {
case 'SHOWLOADINGBAR':
newState = state + 1;
break;
case 'HIDELOADINGBAR':
newState = state > 0 ? state - 1 : 0;
break;
case 'RESETLOADINGBAR':
newState = 0;
break;
default:
return state;
}
return newState;
}
在理想情况下,它应该返回state=0
,但有时行为是匿名的。它返回1,有时返回5。我已经使用redux logger进行调试,但是所有的更改都是在操作之前发生的
以下是屏幕截图:
你将控制台日志放在SHOWLOADINGBAR和HIDELOADINGBAR中,它们肯定从未被调用过?是的,我正在附加屏幕快照,如果你记录
操作,键入
这就是你所期望的(总是定义的),并且你的SHOWLOADINGBAR和HIDELOADINGBAR也被正确定义为字符串(不是从打字/部分重构中未定义的)?你没有直接修改应用程序中的商店状态吗?这里随机猜测:在你的代码中搜索你不小心做的某个地方if(state=5)
,而不是if(state==5)
@Barndon:hi我查过了不是这样的:(你把控制台日志放在SHOWLOADINGBAR和HIDELOADINGBAR中,它们绝对不会被调用?是的,我正在附加屏幕快照,如果你记录action.type
,这就是你所期望的(总是定义的),你的SHOWLOADINGBAR和HIDELOADINGBAR也被正确定义为字符串(不是在打字/部分重构中未定义的)?你没有直接修改应用程序中的商店状态吗?这里随机猜测:搜索你的代码,寻找你不小心做的某个地方if(state=5)
,而不是if(state==5)
@Barndon:hi我查过了,不是那样的:(