【问题标题】:JavaScript, Redux, React. Does it possible to prevent default location reload ?JavaScript,Redux,反应。是否可以防止默认位置重新加载?
【发布时间】:2017-06-09 13:18:26
【问题描述】:

我有一个路由 localhost:8080/,我使用 Redux 在我的 React 应用程序中存储状态。

在第一次启动应用程序时,我有一个登录页面,当我登录时,我会更改状态并获得一个带有路由的应用程序,但是如果我关注 url 地址栏并按 Enter,它会重新加载 Redux 状态并将我踢回登录页面就像我没有被授权一样。

(我想我可以使用其键码 === 13 来阻止 Enter 按钮的默认操作,但是 location.reload 究竟如何)

我可以防止这种 location.reload on Enter 的行为吗?

【问题讨论】:

  • 您能否发布足够多的代码来提供示例?
  • Redux 状态存储在内存中,因此刷新时,它不会保存您的状态。尝试使用 redux-persist:github.com/rt2zz/redux-persist
  • 我认为与其停止浏览器重新加载,不如设置浏览器 cookie 以便会话持续
  • @notgiorgi@lavish@Chad 谢谢大家,我使用 locationStorage 并将尝试 redux-presist
  • 应该是 localStorage,而不是 locationStorage。

标签: javascript reactjs redux react-router react-redux


【解决方案1】:

如果您的意思是希望页面在登录时停止重新加载,那么就像您所说的那样,只需使用 event.preventDefault();

但是,如果您要问的是当用户在地址栏上按下回车键时如何防止页面重新加载。我不认为有任何方法可以防止这种情况,对不起。只有在您可以控制浏览器的情况下才能绕过此限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 2021-12-28
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多