Redux 重复突变
这可能是一个愚蠢的问题,但我正在为React应用程序使用Redux,并且我需要将一些应用程序状态存储为布尔值。 当我在减速器中拾取一个动作时,我需要将布尔值设置为与当前值相反的值。目前,我正在使用:Redux 重复突变,redux,Redux,这可能是一个愚蠢的问题,但我正在为React应用程序使用Redux,并且我需要将一些应用程序状态存储为布尔值。 当我在减速器中拾取一个动作时,我需要将布尔值设置为与当前值相反的值。目前,我正在使用: export default function(state = true, action) { switch (action.type) { case 'SOME_ACTION_TYPE': return action.payload; } retur
export default function(state = true, action) {
switch (action.type) {
case 'SOME_ACTION_TYPE':
return action.payload;
}
return state;
}
action.payload已经保存了正确的值,但是我可以像现在这样分配它吗,或者我正在改变状态吗?你能把它变为布尔值吗
谢谢您应该试试:
export default function(state = true, action) {
switch (action.type) {
case 'SOME_ACTION_TYPE':
return !state;
}
return state;
}
希望它能有所帮助我认为这是正确的,如果所有操作都是翻转状态中的布尔值,那么您不需要有效负载。我只需要知道我是否应该以某种方式进行复制,就像我们对对象和数组所做的那样,或者这是否足以防止状态突变您可以轻松测试它:
var objA={a:1}var objB=objA;objB.a=2;console.log(objA.a)/*返回2*/*但是*/var boolA=true;var boolB=boolA;boolB=!boolB;console.log(boolB,boolA)//返回false,true