【发布时间】:2023-03-23 17:45:01
【问题描述】:
我想将特定 reducer 的当前状态保存到会话存储中,而不是在每个操作上显式调用它。
const { handleActions } = require("redux-actions");
// How do i make this logic run on any state change without adding it to every action?
const onStateChange = (state) => sessionStorage.save(keys.myReducer, state);
const myReducer = handleActions
({
[Actions.action1]: (state, action) => (
update(state, {
prop1: {$set: action.payload},
})
),
[Actions.action2]: (state, action) => (
update(state, {
prop2: {$set: action.payload},
})
)
},
//****************INITIAL STATE***********************
{
prop1: [],
prop2: []
}
);
有没有办法捕捉特定 reducer 的状态变化事件?
我知道store.subscribe,但这是针对整个商店的,我说的是监听特定的减速器变化
谢谢
【问题讨论】:
-
你试过像redux-localstorage或redux-persist这样的库吗?还是您正在解决这些库未解决的利基用例?
-
@excalliburbd - 保持状态不是我想要在状态更改时运行的唯一逻辑,所以不幸的是这并不能解决问题
标签: javascript reactjs redux state