У меня есть функция, которая наблюдает за состоянием и позволяет нам запускать функцию 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