如何在地址栏中手动更改哈希值时保持状态?

时间:2017-01-27 20:42:57

标签: reactjs react-router

我试图在从地址栏手动更改哈希值时保持页面状态
代码很简单,有2条路线 第一条路线有一个按钮,可以向该州添加随机文本 第二条路线显示州内的文字
奇怪的是,当控制台在手动更改哈希值时打开(Ctrl+Shift+ICtrl+Shift+J)时,状态保持不变。 (预期行为)
我没有向控制台输入任何内容。我刚打开它。

当我关闭控制台并手动更改哈希时,状态将丢失。 (实际行为)

我知道有办法将它存储在localStorage中,但我现在试图避免它。

我实际上是因为控制台是开放的而试图理解它是如何工作的。

1 个答案:

答案 0 :(得分:0)

发生这种情况的原因是因为无法重新加载页面而无法手动更新网址的哈希(即在网址栏中)。当您通过控制台更改散列时,您将使用js(非手动)以编程方式更改散列,这是在不重新加载页面的情况下更改散列的唯一方法。当您在url栏中键入哈希并按Enter键时,页面会重新加载,这意味着您的应用程序会重新加载并重置您的状态。