Задать вопрос
@DeniSidorenko

Как сделать активный пункт navbar при скролле React?

Добрый день, столкнулся с такой проблемой, надо сделать функционал как на яндекс еде.
catg.png

Т.е мы скроллим и когда секция попадает в область видимости то пункту меню добавляется класс.

Мои попытки
Я пробовал сделать данный функционал через react-intersection-observer
Но проблема в том что когда к примеру в экран попадают 2 секции он не может корректно работать, показывает неправильные секции
Так же были проблемы когда идет скролл наверх

Для меня идеальным условием было бы, что бы ТОЛЬКО тогда когда границы секции начинают задевать край верхнего экрана, только тогда надо добавлять класс Active.
НО как именно сделать данное условие

P.S НА старом проекте что был на WP я уже делал такой функционал, пробегался по всему сайту и писал в массиве координаты всех секции и потом сравнивал с текущими координатами. Но тут 2 проблемы
1) На текущем сайте данные рендеряться постепенно
2) Такой подход мне кажется очень нагруженным ибо на каждом px скролле происходит события высчитывания
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽