千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 在React应用中管理页面状态的实用方法

在React应用中管理页面状态的实用方法

来源:千锋教育
发布人:syq
时间: 2022-09-23 14:09:46 1663913386

  通过使用历史记录 API 来存储状态,在 React 应用中管理页面状态。  

  React 中有许多状态管理库,例如 Redux、重匹配、反冲,当然,您可以使用 React 上下文来管理页面状态。这些都非常有用,但是存在一个问题 - 当我们刷新页面时,页面状态将丢失,并且页面状态将不可共享。例如,如果你在 React 应用列表页中筛选某些数据,并希望与可以直接看到结果的人共享页面 URL,则无法仅使用状态管理来实现它。

在React应用中管理页面状态

  本文将介绍如何使用历史记录 API 来增强 React 状态,以便可以共享状态,并且在刷新页面后页面显示不会更改。

  具有网址的持久状态

  大多数 npm 模块使用本地存储来保存 React 应用程序中的页面状态,如还原持久化 — npm (npmjs.com)、使用持久状态 — npm (npmjs.com)。通过使用localStorage,我们可以存储复杂数据或大数据,并且在刷新页面时,我们可以恢复状态,这对用户来说是一种更好的体验,尤其是在移动页面上。

  对于大多数列表页面,我们只需要保留一些状态的过滤动作,我们就可以使用URL来存储状态。假设我们只需要存储一个字段,我们可以使用这个 React 钩子:

41

  使用钩子函数后,它将获取 URL 查询以初始化筛选器变量,我们可以使用 setData 来存储状态,并将状态存储为 URL。filter

  通过使用 URL 来保持状态,我们可以共享链接(CodePen 不会共享,因为它使用 iframe 来呈现结果页)。

  结论

  我们可以使用本地存储来持久化状态,也可以使用URL来做到这一点。如果我们需要与某些预设的过滤器/选项共享页面URL,则使用URL来存储状态将很方便。如果状态数据非常大,我们可以将其保存到后端SQL,并带有一个可以与其他人共享的短ID。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT