#javascript #reactjs
Вопрос:
Я пытаюсь создать страницу с плавной прокруткой в React. Допустим, страница разделена на 4 раздела:
- Кто мы такие
- О нас
- Участники
- Выпускники
Таким образом, при прокрутке, если он находится в разделе «Участники» с идентификатором=участники, URL-адрес должен быть обновлен до: website.com/who-we-are#members чтобы он мог скопировать эту ссылку, и когда вы перейдете по этому URL-адресу, отправить вас непосредственно в этот раздел.
Ответ №1:
Вы должны использовать IntersectionObserver, чтобы определить, находится ли раздел в окне просмотра. Используйте a ref
в качестве цели. Используйте крючок эффекта для создания сервера пересечений.
Затем вы можете обновить местоположение для каждого document.location.replace()
. Вы также можете использовать, например, удобный useHistory()
крюк маршрутизатора React.