Обновите URL — адрес в браузере при прокрутке страницы в React

#javascript #reactjs

Вопрос:

Я пытаюсь создать страницу с плавной прокруткой в React. Допустим, страница разделена на 4 раздела:

  • Кто мы такие
  • О нас
  • Участники
  • Выпускники

Таким образом, при прокрутке, если он находится в разделе «Участники» с идентификатором=участники, URL-адрес должен быть обновлен до: website.com/who-we-are#members чтобы он мог скопировать эту ссылку, и когда вы перейдете по этому URL-адресу, отправить вас непосредственно в этот раздел.

Ответ №1:

Вы должны использовать IntersectionObserver, чтобы определить, находится ли раздел в окне просмотра. Используйте a ref в качестве цели. Используйте крючок эффекта для создания сервера пересечений.

Затем вы можете обновить местоположение для каждого document.location.replace() . Вы также можете использовать, например, удобный useHistory() крюк маршрутизатора React.