Reactjs 如何在从地址栏手动更改哈希时保持状态?
当从地址栏手动更改哈希值时,我试图保持页面状态。Reactjs 如何在从地址栏手动更改哈希时保持状态?,reactjs,react-router,Reactjs,React Router,当从地址栏手动更改哈希值时,我试图保持页面状态。 代码非常简单,有两条路线。 第一条路线有一个按钮,用于向状态添加随机文本。 第二条路径显示状态中的文本。 奇怪的是,当控制台在手动更改散列时打开(Ctrl+Shift+I或Ctrl+Shift+J)时,状态保持不变。(预期行为) 我没有在控制台上键入任何内容。我刚打开它。 当我关闭控制台并手动更改哈希值时,状态将丢失。(实际行为) 例如,我知道有很多方法可以将其存储在localStorage中,但目前我正试图避免使用。 实际上,我正试图
代码非常简单,有两条路线。
第一条路线有一个按钮,用于向状态添加随机文本。
第二条路径显示状态中的文本。
奇怪的是,当控制台在手动更改散列时打开(
Ctrl+Shift+I
或Ctrl+Shift+J
)时,状态保持不变。(预期行为)我没有在控制台上键入任何内容。我刚打开它。
当我关闭控制台并手动更改哈希值时,状态将丢失。(实际行为)
例如,我知道有很多方法可以将其存储在localStorage中,但目前我正试图避免使用。
实际上,我正试图理解它是如何像预期的那样工作的,因为控制台是打开的。发生这种情况的原因是,在不重新加载页面的情况下,无法手动更新url的哈希(即在url栏中)。当您通过控制台更改散列时,您是在使用js以编程方式(而不是手动)更改散列,这是在不重新加载页面的情况下更改散列的唯一方法。当您在url栏中键入哈希并按enter键时,页面将重新加载,这意味着您的应用程序将重新加载,您的状态将重置。我没有在控制台中键入任何内容。我刚打开。然后,我手动更改了地址栏中的哈希值,它按预期工作。是的,您可以在不重新加载页面的情况下更新哈希值。