iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react如何实现跳转前记住页面状态
  • 427
分享到

react如何实现跳转前记住页面状态

2023-07-04 23:07:40 427人浏览 八月长安
摘要

这篇文章主要介绍了React如何实现跳转前记住页面状态的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现跳转前记住页面状态文章都会有所收获,下面我们一起来看看吧。react实现跳转前记住页面状态的

这篇文章主要介绍了React如何实现跳转前记住页面状态的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现跳转前记住页面状态文章都会有所收获,下面我们一起来看看吧。

react实现跳转前记住页面状态的方法:1、监听path变化,当path变化时更新lastPath和currentPath到redux store中;2、在离开页面A时,将页面状态保存到redux store中;3、如果redux store中的lastPath等于页面B的path,则认为A是由B返回还原状态,否则不还原。

React 页面返回保留上次状态

需求

  • 页面A跳转到页面B然后再返回页面A,页面A要还原离开前的状态;

  • 页面A和页面B有多个入口,从其它页面跳转到页面A,页面A不还原状态。

设计

  • 监听path变化,当path变化时更新lastPath和currentPath到redux store中;

  • 离开页面A时,将页面状态保存到redux store中;

  • 进入页面A时,如果redux store中的lastPath等于页面B的path,则认为A是由B返回还原状态,否则不还原。

实现

项目采用react-router + dva库,实现部分会涉及相关技术。

监听path变化,通过history监听path变化,并记录lastPath和currentPath。这里采用dva的subscriptions,订阅history,当path变化同步path信息到state。

const model = {  namespace: "global",  state: {    pathName: { last: "", current: "" },  },  reducers: {    setPathName(state: any, { pathName }: any) {      state.pathName.last = state.pathName.current;      state.pathName.current = pathName;    },     effects: {  },  subscriptions: {    setup({ history, dispatch }: any) {      return history.listen(({ pathName }: any) => {        dispatch({ type: "global/setPathName", pathName });      });    }  }};

页面卸载时同步状态到redux store,比如:

componentWillUnmount() {    const { dispatch } = this.props;    const { activeKey } = this.state;    dispatch({      type: "projectInfo/setProjectInfoPage",      payload: { activeKey }    });  }

页面重新加载时,比如:

state = {    activeKey: pathToRegexp(PagePath.B).exec(pathName.last) ? activeKey : ""  };

pathToRegexp来自path-to-regexp库,用于路由匹配,此处用来判断上个页面是否为页面B。

其它方案

A页面是否由B页面返回的判断:B页面返回时添加state,history.push({ pathname: path, state: {from} });,进入A页面根据state判断是否由B页面返回。但当B有多个入口,返回时需要知道页面来源,否则无法返回,逻辑稍显复杂且容易出错。

关于“react如何实现跳转前记住页面状态”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“react如何实现跳转前记住页面状态”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: react如何实现跳转前记住页面状态

本文链接: https://www.lsjlt.com/news/348075.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react如何实现跳转前记住页面状态
    这篇文章主要介绍了react如何实现跳转前记住页面状态的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现跳转前记住页面状态文章都会有所收获,下面我们一起来看看吧。react实现跳转前记住页面状态的...
    99+
    2023-07-04
  • react跳转前记住页面状态怎么实现
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react跳转前记住页面状态怎么实现?React 页面返回保留上次状态需求页面A跳转到页面B然后再返回页面A,页面A要还原离开前的状态;页面A和页面B有多...
    99+
    2023-05-14
    跳转 React
  • react如何实现页面跳转不记录
    今天小编给大家分享一下react如何实现页面跳转不记录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react实现页面跳转不...
    99+
    2023-07-04
  • react如何实现跳转页面
    这篇文章主要介绍“react如何实现跳转页面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react如何实现跳转页面”文章能帮助大家解决问题。react实现跳转页面的方法:1、通过“import {...
    99+
    2023-07-04
  • react 怎么实现页面跳转不记录
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react 怎么实现页面跳转不记录?React-router:页面跳转并清除当前页的历史记录有如下情况:用户打开激活链接;用户完成激活过程后,系统会将其移...
    99+
    2023-05-14
    React
  • react如何实现页面组件跳转
    这篇文章主要介绍了react如何实现页面组件跳转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 跳转方法:1、利...
    99+
    2024-04-02
  • react如何实现跳转到新页面
    今天小编给大家分享一下react如何实现跳转到新页面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react实现跳转到新页面...
    99+
    2023-07-04
  • react怎么实现跳转页面
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react怎么实现跳转页面?react项目实现页面跳转更新:useNavigate()的使用import { useNavigate } from ...
    99+
    2023-05-14
    React
  • react如何实现多个页面之间跳转
    本文小编为大家详细介绍“react如何实现多个页面之间跳转”,内容详细,步骤清晰,细节处理妥当,希望这篇“react如何实现多个页面之间跳转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。react多个页面之间跳转...
    99+
    2023-07-04
  • PHP页面跳转教程:如何实现页面跳转到新页面
    标题:PHP页面跳转教程:如何实现页面跳转到新页面,需要具体代码示例 在Web开发中,页面跳转是一个常见的操作,通过页面跳转可以实现用户在不同页面间进行流畅的切换,提升用户体验和网站功...
    99+
    2024-03-04
    教程 php 页面跳转 a标签
  • react 怎么实现跳转到新页面
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react 怎么实现跳转到新页面?react 点击跳转新页面跳转方法:在前端的实战开发中我们需要用到框架的地方是比较广泛的,今天我们就来说说在“react 怎么点...
    99+
    2023-05-14
    React
  • javascript如何实现跳转页面
    JavaScript是一种常用的编程语言,常常用于网页开发中。在网页设计中,经常要用到跳转页面的功能,在这个过程中,JavaScript跳转页面是最常用的方法之一。JavaScript还可以帮助用户优化页面,增强用户的体验。本文将为您介绍使...
    99+
    2023-05-14
  • php如何实现页面跳转
    这篇文章将为大家详细讲解有关php如何实现页面跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php实现页面的三种跳转方法:1、通过header函数实现跳转;2、使用Meta标签实现跳转;3、通过在PH...
    99+
    2023-06-14
  • android如何实现页面跳转
    Android中实现页面跳转主要有两种方式:隐式跳转和显式跳转。1. 隐式跳转:隐式跳转是指通过指定Intent的Action来进行...
    99+
    2023-08-19
    android
  • react如何实现路由跳转前确认
    这篇文章主要介绍“react如何实现路由跳转前确认”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react如何实现路由跳转前确认”文章能帮助大家解决问题。react实现路由跳转前确认功能的方法:1、...
    99+
    2023-07-05
  • React Router 5.1.0如何使用useHistory实现页面跳转导航
    React Router 5.1.0如何使用useHistory实现页面跳转导航,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.使用withRouter组件withRou...
    99+
    2023-06-25
  • php里如何实现跳转页面
    这篇文章主要讲解了“php里如何实现跳转页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php里如何实现跳转页面”吧!在PHP中,跳转页面可以通过使用header()函数来实现,该函数能够...
    99+
    2023-07-06
  • Flex中如何实现页面跳转
    这篇文章将为大家详细讲解有关Flex中如何实现页面跳转,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Flex页面跳转Flex中实现Flex页面跳转以下几种方式:Flex页面跳转方式一:使用V...
    99+
    2023-06-17
  • react 多个页面之间跳转怎么实现
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react 多个页面之间跳转怎么实现?react 多页面跳转、使用React-Router实现前端路由鉴权React-Router是React生态里面很重...
    99+
    2023-05-14
    React
  • jquery如何实现点击跳转页面
    这篇文章主要介绍“jquery如何实现点击跳转页面”,在日常操作中,相信很多人在jquery如何实现点击跳转页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery如何...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作