скрине или с проверкой наличия элемента в DOM через useMutationObserver?
Инфинит скролл же должен триггерить загрузку немного ранее, чтобы пользователю подгрузка казалась бесшовной
ну это можно сделать повесив ref не на последний элемент
МНе кажеться, что там просто обработчик вешаеться с debounce на событие прокрутки. Этот обработчик добавляет тебе в состояние новые элементы (например по запросу к серверу). Если у тебя возникает необходимость в ручной проверке DOM, то тут что-то явно не так
onScroll довольно сложная операция, я бы её избегал
а что случится если на онскорлл что-то делать?
страница будет тормозить очевидно
Не будет она тормозить
ну а если ты запустишь подгрузку например асинхронно онскролл просто тригернет ее и она станет в очередь, и потом только выполенится, если тебя смущают операции на онскролл, к тому же есть debounce
когда ты обрабатываешь взаимодействия с DOM (действие по прокрутке) то очевидно что тут не тот случай чтобы завязывать на состояние
гм.. В состояние список элементов по этому состоянию мы его рендерим. При прокрутке добавляем элементы в состояние. Кроме того что вешаеться обработчик на зону скрола, Зачем еще нам что то делать напрямую с DOM?
скажу по секрету, реакт взаимодействует с дом
А вот изначально на какое событие у тебя реагирует добавление элементов? Какое действие пользователя собственно заставляет добавлять элементы в список?
ну там просто по кнопке открывается список
Это понятно. Ты хочешь сделать что бы по прокрутке что то в этот список добавлялось. Так же? Ну и какое действие пользователя должно добавлять эти элементы?
какое действие? скролл к последнему элементу
И как ты отловишь этот скрол?
https://developer.mozilla.org/ru/docs/Web/API/Intersection_Observer_API
Интересная штука. Спасибо за ссылку.
Обсуждают сегодня