我有一个事件监听器,它分派一个操作。
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
每250ms 执行不超过一次
const throttledScreenResize = _.throttle(() => store.dispatch(screenResize()), 250)
window.addEventListener('resize', throttledScreenResize)
在第一种方法中:对每个resize
事件调用store.dispatch
。