如何在Redux Toolkit中清除状态?组件切换状态残留问题
解决方案
你当前的代码是把新获取的订单列表追加到原有状态数组里,这就导致状态会不断累积,切换组件时旧数据不会自动清除。要实现获取新数据时清空之前的状态,直接用新的action.payload替换原数组即可:
[getOrderList.fulfilled]:(state, action) => { // 直接替换为新的 payload,而非追加 state.getUsersOrderList = action.payload; },
如果你的action.payload本身就是一个数组,上面的写法完全适用;如果payload是包含列表的对象(比如{ list: [...] }),则改成对应的取值方式,比如state.getUsersOrderList = action.payload.list。
这样每次获取到新的订单数据时,都会直接覆盖原有状态,不会保留旧数据,切换组件后再回来获取数据时,状态就是最新的内容,无需刷新页面。
内容的提问来源于stack exchange,提问作者pradeep kumar
相关产品推荐
相关产品推荐

