调度油门

Throttle with dispatch

我有一个调度动作的事件侦听器。

window.addEventListener('resize', () => {
    store.dispatch(screenResize());
})

我正在尝试使用 lodash 来节流(或去抖动)

问题是,我应该怎么做

const throttledScreenResize =  _.throttle(screenResize(), 250)

window.addEventListener('resize', () => {
    store.dispatch(throttledScreenResize);
})

const throttledScreenResize =  _.throttle(() => store.dispatch(screenResize()), 250)

window.addEventListener('resize', throttledScreenResize)

或者两者都不是?然后呢?

谢谢

采用第二种方法

调用_throttle里面的store.dispatch(..)。这将确保 store.dispatch 每 250 毫秒执行不超过一次

const throttledScreenResize =  _.throttle(() => store.dispatch(screenResize()), 250)

window.addEventListener('resize', throttledScreenResize)

在第一种方法中: store.dispatch 在每个 resize 事件中被调用。