react 记录:React Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack

      前言:

  • react-router-dom 4.4.2  

在页面中直接使用

import { Link } from 'react-router-dom'
//使用
<Link to={{ pathname: "/app/studyMapModule/detail" }} >detail</Link> 

可能报错:

browser.js?fec5:49 Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack

《react 记录:React Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack》

原因:这个是 reactr-router 的一个提示,当前路由下的 history 不能 push 相同的路径到 stack 里。只有开发环境存在,生产环境不存在,目前还没看到官方有去掉的意思。看不惯的话可以采取一些方法关掉这个提示。

解决:添加上replace

<Link to={{ pathname: "/app/studyMapModule/detail" }} replace>detail</Link> 

 或者:

The warning is there just to let you know that when you're using hash history, you can't actually PUSH the same path; the browser won't add anything to the history stack.

But you should only get this warning in development. If you generate your production build correctly (using NODE_ENV=production) you shouldn't see this warning in production.

 

 

参考:https://github.com/ReactTraining/history/issues/488

          https://segmentfault.com/q/1010000012463788

点赞