Sin*_*met 1 javascript reactjs react-native redux
我似乎无法重置默认状态;我怎么做?我试过这个,但它所做的只是添加state
到状态并将其称为未定义。
const initialState = {
name: null,
coins: 0,
image: null,
};
export default function reducer(state = initialState, action = {}) {
switch (action.type) {
case types.ADD_GROUP_COINS:
return {
...state,
coins: state.coins + action.coins
};
case types.DELETE_GROUP:
return {
state: undefined
};
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
要将状态重置为initialState
,只需return initialState
,如下所示:
case types.DELETE_GROUP:
return initialState;
Run Code Online (Sandbox Code Playgroud)
请记住,在reducer 中,您返回的对象是新状态。您不需要将其包装在另一个对象中,如下所示:
return {
state: ...
}
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个state
在您所在州调用的属性,这根本不是您所需要的。
从文档:
reducer 是一个纯函数,它接受前一个状态和一个动作,并返回下一个状态。
很容易对此感到困惑,所以要小心!default
如果您仍然不太确定,请查看您的情况:您将旧state
变量作为新状态返回,而不是 { state: state }
您实际上对当前DELETE_GROUP
处理程序所做的。
归档时间: |
|
查看次数: |
1749 次 |
最近记录: |