我只想更改状态而不能更改路线
<Link to ={{
pathname: "/questions",
state: {
by: 'me'
}
}} >
Me
</Link>
到
<Link to ={{
pathname: "/questions",
state: {
by: 'others'
}
}} >
others
</Link>
状态没有改变并且在控制台中抛出
Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack
答案 0 :(得分:1)
通过“路径”导航传递的状态值不会在浏览器刷新之间保持不变,并且也不在URL中考虑。处理此类情况的更好方法是利用查询参数代替状态。因此您的网址看起来像/question?by=me
或/question?by=other
您可以像
一样传递<Link to ={{
pathname: "/questions",
search: '?by=others'
}} >
others
</Link>
并从location
中获得类似this.props.location.search
的信息,您可以使用queryString
包或类似的文件进行解析