调度油门
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
事件中被调用。
我有一个调度动作的事件侦听器。
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
事件中被调用。