@Fedyaaaa

Как получить все id элементов после рендеринга DOM?

Хочу сделать на сайт стрелку, при нажатии которой, сайт будет скроллиться до следующей секции. На сайте есть много компонентов, к которым привязаны якорные ссылки. Нужно получить id всех секций. Может знаете решение?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
alsolovyev
@alsolovyev
¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
Вам надо на след. секцию скролить? Например через IntersectionObserver:
https://playcode.io/2099856
https://playcode.io/2099876 - если нужно получить ref у компонента (через forwardRef)

ps в коде можете посмотреть как можно добавить все элементы в список
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
У вас именно Реакт?
Если так, то обычно эти компоненты (и эти якорные ссылки в них) рендерятся из каких-то данных (state), а это значит, что id всех секций у вас уже есть.
Если вы рендерите как-то не так, то вы странно тогда используете Реакт. Должно быть проще доработать, чем пытаться лезть на низкий уровень и пытаться вытащить что-то из готовых компонентов.

P.S. вижу, что в предыдущем вопросе у вас то же самое. Может, вам просто тогда на ванильный JS переписать? И понятнее будет для вас, и клиентам меньше грузить. Вдобавок, можно прямо на сервере рендерить 99% разметки и нормально индексировать сайт. Вряд ли у вас там какие-то сложные интерфейсы, которые реально требуют Реакта.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы