我可以在不使用状态或redux的情况下获得反应路由中所有访问的路径

时间:2018-06-20 05:53:23

标签: reactjs redux react-router react-router-v4 react-router-dom

我可以在不使用状态或redux的情况下获得反应路由中所有访问的路径

ex >>即时通讯在此处以“问” https://stackoverflow.com/questions/ 询问 如果我去另一条路线 https://stackoverflow.com/questions/ 阅读

“已读”

然后https://stackoverflow.com/questions/ 显示

我需要混入 [询问,阅读,显示] 的列表,而不使用状态或redux来存储它。(仅使用react route属性/历史记录)

是否存在支持此功能的库反应路线?

1 个答案:

答案 0 :(得分:1)

可以。只需使用localStorage即可满足这种需求。

import { browserHistory } from 'react-router';

//Your router initialization

browserHistory.listen( location =>  {
  const previouslyVisitedPaths = localStorage.getItem("visitedPaths")

  let paths
  if (previouslyVisistedPaths === null) { // First write to your localStorage 
    paths = location
  } else {
    paths += `,${location}` // append new path to it
  }

  localStorage.setItem("visitedPaths", paths)
});

此代码将为您提供以后访问的路径:

localStorage.getItem("visitedPaths").split(',')