reactjs - props.history.push('/') 没有转到页面顶部(需要功能组件)
问题描述
我正在使用 React 构建一个网站,用户单击一个按钮进行注册。在该按钮的回调中,我使用props.history.push('/')
重定向到主页。
在注册页面中,他们必须稍微向下滚动,并且他们在页面上的位置会延续到主页。还有另一种重定向到页面顶部的方法吗?
解决方案
下面的解决方案示例显示了如何使用它。这将使窗口在整个应用程序中自动滚动到顶部。信用未知 - 我从这里的某个地方得到它。
反应组件 - ScrollToTop:
import { useEffect } from "react";
import { withRouter } from "react-router-dom";
function ScrollToTop({ history }) {
useEffect(() => {
const unlisten = history.listen(() => {
window.scrollTo(0, 0);
});
return () => {
unlisten();
};
}, [history]);
return null;
}
export default withRouter(ScrollToTop);
推荐阅读
- react-native - 反应原生 socket.io 是 server_error
- onclick - 奇怪的输出:[object HTMLInputElement]+
- python - 无法在 PyCharm 中运行但能够在终端中运行
- git - 关于看起来未使用的 git big blob 的问题
- react-native - React Native LinkedIn 身份验证
- c++ - 如何循环一个函数?
- node.js - Discord.js 获取服务器所有者用户标签返回 null
- node.js - 由于 Sharp 模块失败,无法安装 Gatsby 入门主题
- java - 无法创建请求的服务(休眠)
- sql - 发布 IIS 时无法连接数据库