我很难弄清楚这一点,本质上我试图将状态设置为初始状态,到目前为止我尝试了:
// -- Initial state ------------------------------------------------------------
const INITIAL_STATE = {
search: {
listings: []
},
listings: []
}
// -- Story structure for story editor -----------------------------------------
export default function(state = INITIAL_STATE, action) {
switch(action.type) {
case ACTIONS.RESET_STATE:
return { ...state, INITIAL_STATE }
default:
return state;
}
}
这只是将初始状态添加到现有状态中
case ACTIONS.RESET_STATE:
return { ...state, state = INITIAL_STATE }
返回错误
case ACTIONS.RESET_STATE:
return { ...state, state: INITIAL_STATE }
这是将初始状态添加到现有的一个增益
case ACTIONS.RESET_STATE:
return { ...state, search: { listings:[] }, listings: [] }
这是可行的,但我开始得到奇怪的突变错误。
3条答案
按热度按时间slwdgvem1#
Anders提出的解决方案是正确的,但存在不可变的潜在问题。这将始终生成新对象。
5lhxktic2#
看看Jiri Fornous解决方案,因为这会改变您的数据。
更简单的方法是返回INITIAL_STATE。
dluptydi3#
如果你只是想完全重置状态,只需返回
INITIAL_STATE
的 value 即可:如果你想把
INITIAL_STATE
放在一个地方。将初始状态创建器更改为函数: