reactjs - 带有反应路由器的新页面的位置
问题描述
使用react-router-dom
5.2 - 当我向下滚动页面然后转到新页面时,它仍会向下滚动。如何从顶部显示它?谢谢
解决方案
您可以定义一个在路径更改时滚动到顶部的组件。
import React from "react";
import { useLocation } from "react-router-dom";
export default function ScrollToTop() {
const { pathname } = useLocation();
React.useEffect(() => {
window.scrollTo(0, 0);
}, [pathname]);
return null;
}
注意:确保将组件放在Router
App 文件中。
<Router>
<ScrollToTop />
// other routes
</Router>
推荐阅读
- netsuite - 单击 Suitelet 中的按钮后如何从函数返回值
- mysql - 我想向客户销售固定数量的产品。如何在春季 jpa 中管理并发?
- microcontroller - vTaskStartScheduler() 后无法读取中断优先级
- c - C - strcspn() 函数跳过数组中较长的字符串
- c - 如何在C中小数点后的有效数字后添加零?
- sql - SQL 执行速度很慢 我怎样才能加快速度?
- google-analytics - Google Analytics 生成的事件流报告中的最终事件是什么
- c# - 使用 DataRowExtension 解析 TimeSpan
- delphi - 如果我只想停止执行并报告错误,在 Delphi TDataSetProvider.OnUpdateError 中该怎么办?
- python - 在 PyQt5 中使用双缓冲技术绘制矩形时出现鬼图像