【问题标题】:React Router: What's the purpose of Browser History? Is Browser History mandatory?React Router:浏览器历史记录的目的是什么?浏览器历史记录是强制性的吗?
【发布时间】:2017-01-11 09:49:50
【问题描述】:

浏览器历史记录只是为了在已经访问过的页面之间来回切换吗?

但浏览器已经具备这些能力。为什么需要另一个模块?

此外:

我尝试过没有浏览器历史记录的 React Router。 React 路由器一直在工作。我可以通过在地址栏中输入相应的 URL 来获取所有单个组件。

当我使用没有浏览器历史记录的 React Router 会有什么后果?

【问题讨论】:

  • 不使用也能在历史中来回穿梭吗?
  • 是的。我又试了一次:删除了“history={History}”属性。重新启动了网络服务器。单击指向不同页面的链接。之后我可以使用 Chrome 的后退按钮,它会显示我最后访问的页面,倒数第二个等。

标签: javascript reactjs react-router


【解决方案1】:

如果您的服务器配置为这样的 SPA 应用程序:

NODE server
 // serve static assets normally
  app.use(express.static(__dirname + '/public'))

 // handle every other route with index.html, which will contain
 // a script tag to your application's JavaScript file(s).
  app.get('*', function (request, response){
   response.sendFile(path.resolve(__dirname, 'public', 'index.html'))
  })

如果没有browserHistory,当您导航到除/ 之外的其他URL 时,例如/posts/1 并刷新页面。服务器只给你主页。使用browserHistory,路由器将正确处理那些URL。欲了解更多信息,请阅读doc

【讨论】:

    猜你喜欢
    • 2017-08-17
    • 2015-06-14
    • 1970-01-01
    • 2021-11-01
    • 2016-01-09
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多