а если в onScroll поместить отдельную функцию и в эту функцию перенести debounce то debounce не срабатывает хотя console log в новой функции куда перенесли, срабатывает?
Это не будет работать нормально. Если твой компонент перерендерится при onScroll - что произойдёт?)
Кинь скрин со вторым вариантом
Ну в прямом, проведи мысленный эксперимент. Произошел onScroll, компонент перерендерился, опять onScroll, опять перерендерился и так 50 раз - че будет?
почему 50 раз то не пойму
Нет, сломается дебаунс, вместо одного отложенного вызова произойдут 3. Плюс еще может произойти вызов после анмаунта. Кароч классика реакта, надо подстраиваться под лайфсайкл, погугли как сделать хук для дебаунса, там не сложно
А лучше не пиши это в реакте, тупо всё выкини
используй не дебаунс, а throttle
Обсуждают сегодня