在 React 中处理服务器端保护路由的正确方法?

Proper way to handle server-side protected routes in React?

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

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

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

您所了解的有关网络应用程序构建方式的所有知识仍然适用。可以像这样做服务端渲染react-starter-kit or no server side rendering like in create-react-app。 React 可以在服务器和客户端上 运行。

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

认为这真的归结为纯单页面应用程序架构与经典整体应用程序架构,与 React 关系不大。希望对您有所帮助!