首页 > 解决方案 > 在 React 中处理服务器端受保护路由的正确方法?

问题描述

我是新手,放轻松。我的理解是 React 代码完全在客户端运行,因此在 react-router 中保护路由只是一种 UI 便利,它们实际上根本没有受到保护,对吧?

那么在反应应用程序中保护路由的公认方法是什么?我唯一能想到的是有多个反应应用程序,一个在用户未登录时交付,另一个在用户登录时交付。这是正确的吗?我完全误解了反应的工作原理吗?谢谢。

标签: reactjsroutesreact-routerprotected

解决方案


React 并不是应用程序运行方式的真正范式转变,更重要的是它们的组织方式。更多的内聚而不是耦合,简单的状态机;这些道具 = 这个组件的初始状态。

您所知道的有关如何构建 Web 应用程序的所有内容仍然适用。可以像react-starter-kit那样进行服务器端渲染,也可以像create-react-app那样不进行服务器端渲染。React 可以在服务器和客户端上运行。

在所述场景中,将发生身份验证。认为混乱是认为您通过下载客户端拥有整个应用程序。虽然这可能是真的,但通常情况并非如此。对于诸如管理面板之类的东西,将配置 webpack 以将其移动到一个单独的包中,该包在您的客户端包通过身份验证为管理员角色后延迟加载。

认为这真的可以归结为纯粹的单页应用程序架构与经典的单体架构,并且与 React 关系不大。希望有帮助!


推荐阅读