有一种清除状态片段的优雅方法吗?我的状态中有7片数据,我希望在擦除其余数据时保持活动状态。我是否需要遍历每个reducer并手动擦除每个中的切片,还是有另一种方法?
提前致谢...
您可以执行以下操作:
const resetState = () => ({
type: 'RESET_STATE'
})
const appReducer = combineReducers({
/* your app’s top-level reducers */
})
const rootReducer = (state, action) => {
if (action.type === 'RESET_STATE') {
state = undefined
}
return appReducer(state, action)
}
function resetAndUpdateOneSlice() {
return (dispatch, getState) {
const slice = Object.assign({}, getState().slice)
//assuming your slice is an object
//just want to demonstrate cloning your data before you reset your state.
dispatch(resetState())
dispatch(updateSliceOfState(slice))
}
}
这是一个可能的解决方案-纯函数和thunk的混合-尽管我不确定为什么要重置状态的这么多部分。并不是我要谴责您的决定,我只是想找出一个并非完全人为设计的用例。
由于我们使用的是纯函数,因此以下是可能的。
另外,我引用了这篇文章,因为它很有帮助。
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句