如何解决有没有办法在单个 SPA 中将值从一个反应应用程序传递到另一个反应应用程序
我正在使用 Single-SPA
和 React
创建微前端架构。
目前,我有 3 个 React 应用:
-
导航栏应用程序:这总是加载的。这有 2 个菜单,可一次加载以下 React 应用之一。
-
React App R1:这会加载路由“/r1”
-
React App R2:这会加载路由“/r2”
根据 single-spa
文档,当我们注册一个 React 应用程序时,根据我们传递给 activeWhen
的 registerapplication
字段,single-spa 将决定是否必须安装应用与否。
示例代码:
import { registerapplication,start } from "single-spa";
registerapplication(
name: "R1",app: () =>System.import("R1"),activeWhen: ['/r1'],customProps: { domElement: document.getElementById('page-1-container') }
);
场景:
- React 应用 R1 安装在路径“/r1”下
- React 应用 R2 安装在路径“/r2”下
- 我们在路由 r1 中,因此应用程序 R1 已安装。在这里,我们在单击按钮时调度自定义事件。
- 然后我们转到路由 /r2,因此 App R1 被卸载,App R2 被挂载。我已经在 App R2 中注册了一个事件监听器来监听来自 App R1 的事件。
问题: 来自 R1 的事件在按钮点击时抛出,但由于没有安装 R2(直到我们移动到路由 /r2),所以没有监听器来监听来自 R1 的事件。
有没有办法做到这一点?
有人可以帮忙吗。非常感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。