Redux State обозреватель, чтобы вернуть желаемое состояние - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть функция, которая наблюдает за состоянием и позволяет нам запускать функцию 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...