Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 我们可以在redux中初始化等于0的状态吗?_Reactjs_Redux - Fatal编程技术网

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我查过了,不是那样的:(