全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

如何用router返回上一页

发布时间:2023-11-23 04:08:00
发布人:xqq

在Web开发中,我们时常需要跳转到不同的页面和URL。然而,当我们需要在页面间切换时,如何实现返回上一页的功能呢?在本文中,我们将从多个方面探讨如何用router实现返回上一页的功能。

一、window.history方法

window.history对象提供了对浏览器历史记录的访问。通过它,我们可以实现返回上一页的功能。


window.history.back();

上述代码可以使用户返回到浏览历史记录中的前一个页面。在实际使用中,我们可以将其与router结合使用,如下所示:


import { useHistory } from 'react-router-dom';

function goBack() {
  const history = useHistory();
  history.goBack();
}

二、通过路由参数

我们也可以通过在URL上添加参数,来实现返回上一页的功能。比如,我们可以将之前的页面的URL作为参数传递给当前页面。在返回时,我们再将当前页面的URL作为参数传递回之前的页面。


import { Link } from 'react-router-dom';

// 前一个页面
/somePage?from=${location.pathname}}>Go to some page

// 当前页面
import { useLocation, useHistory } from 'react-router-dom';

function goBack() {
  const location = useLocation();
  const history = useHistory();
  const from = new URLSearchParams(location.search).get('from');
  history.push(from);
}

三、通过浏览器的后退按钮

当用户在网站中点击后退按钮时,浏览器会自动调用window.history.back()方法。因此,我们可以不用手动实现返回上一页的功能,而是依靠浏览器自带的后退按钮来实现。

但需要注意的是,如果用户在当前页面使用了一些页面内跳转的方法(例如锚链接),那么浏览器的后退按钮会将用户带回到之前的锚点位置,而不是之前的页面。因此,需要在设计页面时,合理使用锚链接来避免这种情况的发生。

四、通过编程方式模拟后退按钮

如果我们需要在代码中模拟后退按钮的功能,可以借助window.history模拟后退按钮的行为。


window.history.go(-1);

在上述代码中,-1表示向后回退一个页面,1表示向前前进一个页面。同样,我们可以将其与router结合使用,如下所示:


import { useHistory } from 'react-router-dom';

function goBack() {
  const history = useHistory();
  history.go(-1);
}

我们可以根据实际需要选择合适的方法实现返回上一页的功能。在实际应用中,需要遵循Web开发的规范和标准,确保代码的健壮性和可靠性。

router返回上一页

相关文章

详解markdown颜色代码

详解markdown颜色代码

2023-11-23
使用ffmpeg截取视频片段

使用ffmpeg截取视频片段

2023-11-23
linuxstream测试,linux常用测试命令

linuxstream测试,linux常用测试命令

2023-11-23
Linux下查看后台进程详解

Linux下查看后台进程详解

2023-11-23

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取