前言
锚点目录定位功能在长页面和文档类网站中非常常见,它可以让用户快速定位到页面中的某个章节
如何在React中实现锚点定位和平滑滚动
目录自动高亮的实现思路
处理顶部导航遮挡锚点的解决方案
服务端渲染下的实现方案...原生scrollIntoView方法
useScrollIntoView内部其实就是使用了原生的scrollIntoView方法,所以我们也可以直接调用:
function App() {
const...锚点定位和目录联动
很多时候,我们会在页面中实现一个目录导航,可以快速定位到各个章节。...此时就需要实现锚点定位和目录的联动效果:
点击目录时,自动滚动到对应的章节
滚动页面时,自动高亮正在浏览的章节
目录导航组件
目录导航本身是一个静态组件,我们通过props传入章节数据:
function...简单来说就是:
在服务端渲染时,读取路由参数,提前计算高亮状态
将高亮数据注入到响应中
客户端拿到注水的数据后渲染,不会出现高亮错位
实现步骤:
1.服务端获取参数和数据
// 在getServerSideProps