javascript - react单页面应用中,点击浏览器回退按钮,怎么能使回来的页面保持离开前的状态?
PHP中文网
PHP中文网 2017-04-11 12:47:15
[JavaScript讨论组]

在原来页面上,选择了单选按钮组中某个单选按钮,然后根据这个单选按钮的值发送ajax请求,展示对应的数据,即展示一个table,当点击某个列表项时,跳转到另一个页面。进入另一个页面后,点击回退按钮,能使回到的这个页面保持跳转前的状态吗?即还是选择当初离开时选择的那个单选按钮,展示的还是原来的对应数据。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
黄舟

可以,我正好刚做了类似的实现,不过用到了 react-router 和 redux,在此仅提供思路

列表页的筛选条件加到 location 的 query 里,也就是在 URL 的问号后面的参数列表,同时在请求数据的 actionCreator 里,既要向服务器发送 query 里对应的请求参数,也要在返回的 action 里包含 query 的数据

在详情页通过 react-redux 访问相应的 reducer 的 query(通过 action 传递过来的),读取之前的列表页的筛选条件,渲染返回按钮时把参数加到 URL 路径后面当成参数即可

这样做既可以在返回时保留筛选条件,又可以将筛选条件固化到 URL 里,除了筛选条件,分页参数也可以这样做

天蓬老师

楼上的方案不错,但是还是存在一些页面的交互信息不方便维护到location里面,比如一个巨长的列表页,要回退之后保持在上次浏览位置
可以定时在localstorage里面保持信息,当referrer是detail时读取localstorage内容做定位,否则清空localstorage

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号