react 如何解决浏览器回退

#1

需求点击浏览器回退的时候, 能够像多页面应用那样的回退效果, 我们做的类似百度那种的搜索引擎系统,比如搜索完关键字显示出网页信息,然后我切换到图片,然后点击回退,发现之前页面的组件重新初始化发起了请求,并且如果存在筛选条件,筛选条件也会被初始化掉。我想做到单纯的那种回退效果,我项目主要用的react,context和react-router-dom, 请问这种回退如何实现,给个思路,谢谢

#3

要么筛选条件都进store,每次都从store拿,要么每次改筛选条件就replace一下history,然后进页面的时候拿一下history里的参数

#4

首先我觉得退回后刷新这是一个非常优秀的功能,非spa项目,创建后返回上一页并刷新就是个让人头疼的问题。
然后这个问题的思路就是用户对搜索条件的所有修改都要反应到URL上,
页面刚打开的时候搜索条件的初始化需要分析URL来初始化搜索参数。

  1. 页面刚打开, 分析URL,初始化搜索条件
  2. 用户修改搜索条件,执行搜索并将搜索条件拼接为URL, 印象中ReactRouter中有有个api就是修改URL但是不触发重新路由的