我在我的标题中有两个按钮(主页,联系我们),并且我在同一页面上的一个 div 中有“主页和联系我们”的内容,当我点击主页或联系按钮时,它应该使用React滚动到那个特定的 div -路由器 由于我对这些概念不熟悉,我找不到正确的解决方案。
问问题
565 次
1 回答
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 一样使用它(可以是字符串或对象,详见 RRv4 api):
<Link to="/some/path#with-hash-fragment">Link to Hash Fragment</Link>
于 2019-06-24T05:35:56.493 回答