Дроссель с отправкой - PullRequest
       74

Дроссель с отправкой

0 голосов
/ 20 апреля 2020

У меня есть прослушиватель событий, который отправляет действие.

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

Я пытаюсь задушить (или отменить) это с помощью loda sh

Вопрос в том, должен ли я делать

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

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

или

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

window.addEventListener('resize', throttledScreenResize)

или ни того, ни другого? Тогда что?

Спасибо

1 Ответ

1 голос
/ 20 апреля 2020

Второй подход :

Позвоните на store.dispatch(..) внутри _throttle. Это обеспечит выполнение store.dispatch не чаще одного раза каждые 250 мс

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

window.addEventListener('resize', throttledScreenResize)

. При первом подходе: store.dispatch вызывается при каждом событии resize.

...