Redux状态观察器返回所需状态

时间:2019-09-26 16:52:44

标签: javascript redux

我具有观察状态的功能,并允许我们在选择器状态更改时运行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

0 个答案:

没有答案