reactjs - 在 React 中处理服务器端受保护路由的正确方法?
问题描述
我是新手,放轻松。我的理解是 React 代码完全在客户端运行,因此在 react-router 中保护路由只是一种 UI 便利,它们实际上根本没有受到保护,对吧?
那么在反应应用程序中保护路由的公认方法是什么?我唯一能想到的是有多个反应应用程序,一个在用户未登录时交付,另一个在用户登录时交付。这是正确的吗?我完全误解了反应的工作原理吗?谢谢。
解决方案
React 并不是应用程序运行方式的真正范式转变,更重要的是它们的组织方式。更多的内聚而不是耦合,简单的状态机;这些道具 = 这个组件的初始状态。
您所知道的有关如何构建 Web 应用程序的所有内容仍然适用。可以像react-starter-kit那样进行服务器端渲染,也可以像create-react-app那样不进行服务器端渲染。React 可以在服务器和客户端上运行。
在所述场景中,将发生身份验证。认为混乱是认为您通过下载客户端拥有整个应用程序。虽然这可能是真的,但通常情况并非如此。对于诸如管理面板之类的东西,将配置 webpack 以将其移动到一个单独的包中,该包在您的客户端包通过身份验证为管理员角色后延迟加载。
认为这真的可以归结为纯粹的单页应用程序架构与经典的单体架构,并且与 React 关系不大。希望有帮助!
推荐阅读
- javascript - 如何在文档就绪时调用 jQuery 函数?
- post - 网页抓取 - 下载 Zip 文件
- google-compute-engine - 尽管我有外部临时地址,但 gcloud 计算地址列表返回 0 个结果
- angular - “Angular 5+ 引导日期和时间选择器” - 仅限日期
- java - Spring boot 项目 Application Run Failed 创建 Bean 'entityManagerFactory;
- oracle - ORA-06502: PL/SQL: CLOB 变量上的数字或值错误
- microsoft-graph-api - 在 AppFolder 中查找已删除的文件
- javascript - 如何在不中断异步流的情况下自动刷新 redux 中的 JWT?
- python - 试图创建 RDF 图并得到 TypeError: '>' not supported between 'int' 和 'NoneType' 实例
- javascript - 在javascript中停止一个函数