Как перейти к конкретному div при нажатии кнопки в одностраничном приложении с помощью реактивного маршрутизатора?

У меня есть две кнопки («Домой», «Свяжитесь с нами») в моем заголовке, и у меня есть содержимое «Домой и свяжитесь с нами» в div на той же странице, пока я нажимаю кнопку «Домой» или «Связаться с нами», он должен прокручиваться до этого конкретного div с помощью < strong>React-Router Поскольку я новичок в этих концепциях, я не могу найти правильного решения.


person SJ Purusothaman    schedule 24.06.2019    source источник


Ответы (1)


Почему вы хотите React-Router для этого?

Разве вы не можете напрямую обернуть кнопки в тег <a> и предоставить атрибут href для тега <a> с id раздела, в котором вы хотите прокручивать.

например

<a href="#home"><button>Home</button></a>

Где-то в тебе компонент,

<div id="home">
...
</div>

Для эффекта плавной прокрутки вы можете добавить этот css,

html{scroll-behavior:smooth}

Обновлено

На основе комментариев вы можете использовать react-router-hash-link.

yarn add react-router-hash-link
or
npm install --save react-router-hash-link

// В YourComponent.js

...
import { HashLink as Link } from 'react-router-hash-link';
...

// Используйте его точно так же, как RRv4 (это может быть строка или объект, подробности см. в API RRv4):

<Link to="/some/path#with-hash-fragment">Link to Hash Fragment</Link>
person ravibagul91    schedule 24.06.2019
comment
На самом деле это мое требование, сэр, я использую reactjs для просмотра, и у меня есть две кнопки, а именно контакт и информация, пока я нажимаю на эти кнопки, он должен прокручиваться до этого конкретного div, и URL-адрес также должен измениться. - person SJ Purusothaman; 24.06.2019