React Router 的目的是什么?

问题描述 投票:0回答:2

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

node.js express reactjs url-routing react-router
2个回答
4
投票

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

它主要适用于单页应用程序 (SPA),其中后端将用于通过 XHR 或 AJAX 调用进行 RESTful API 调用。

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

服务器端路由和客户端路由的主要区别:

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

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.