我具有观察状态的功能,并允许我们在选择器状态更改时运行onChange函数。
function observeStore(store, select, onChange) {
let currentState;
function handleChange() {
let nextState = select(store.getState());
if (nextState !== currentState) {
currentState = nextState;
onChange(currentState)
}
}
let unsubscribe = store.subscribe(handleChange);
handleChange();
return unsubscribe;
}
这就是我的使用方式
observeStore(store, selectedProductIdSelector, state => {
console.log('state changes', state) // 10
})
如果我要观察多个状态,这将成为一个问题。因此,有没有一种方法可以编辑观察者函数以便像下面这样调用它...
const productId = observeStore(store, selectedProductIdSelector)
console.log(productId) // 10