【问题标题】:What is the purpose of React Router?React Router 的目的是什么?
【发布时间】:2016-11-20 16:05:08
【问题描述】:

鉴于我们可以在服务器上使用 Express 进行路由,为什么需要客户端路由器? 有什么好处,是否只对 SPA 有意义?

【问题讨论】:

    标签: node.js express reactjs url-routing react-router


    【解决方案1】:

    需要客户端路由以使您的应用程序与浏览器 URL 保持同步。

    它主要用于单页应用程序,其中后端将用于通过 XHR 或 AJAX 调用的 RESTful API 调用。

    作为 SPA 用户可以为您的网址添加书签,当他们再次点击该网址时,您的应用程序应该加载该页面以及数据及其状态。

    服务器端路由和客户端路由的主要区别:
    1. 在服务器端路由中,您下载(提供)整个页面。
    2. 在客户端路由以及整个页面中,您可以为页面的特定部分提供服务,重用 DOM,手动管理 URL 和历史状态。例如。

    www.something.com/page1/tab1 将在 UI 中显示 tab1
    www.something.com/page1.tab2 将在 UI 中显示 tab2

    通过这种方式,url 可以变得更加复杂,并且您可以拥有带有状态的子路由。

    【讨论】:

      【解决方案2】:

      那些需要客户端路由器的人,需要它来进行状态管理。假设您有服务器渲染的页面,但有一些客户端小部件 - 例如日历、一组过滤器或折叠或打开的侧边栏。路由器可帮助您将页面的这些组件初始化为您想要的确切状态。当然,您也可以完成大部分工作以及我在服务器上命名的所有用例。但是在客户端处理这些通常要容易得多。您可能会在服务器上更快地渲染它,但有时,尤其是在进行部分页面更新时,处理客户端会更便宜、更快。

      【讨论】:

        猜你喜欢
        • 2019-05-01
        • 2018-05-25
        • 2016-06-03
        • 2016-11-08
        • 2020-03-06
        • 2017-08-12
        • 2017-08-28
        • 2018-07-16
        • 2020-05-24
        相关资源
        最近更新 更多