reactjs - React mfe:mfe 之间的通信
问题描述
使用 react 17,我正在尝试使用 mfe 演示。有一个父容器包含两个 mfe,Header 和 Auth。
当用户登录时,容器会收到通知。收到此通知后,需要通知标头组件有关此事件并允许更新自身。
目前,容器可以从Auth-mfe获取消息,但对Header组件如何使用容器订阅此消息感到震惊。
目标是最小化或消除 mfe 之间的直接通信,如果需要,它必须通过父容器。
我没有使用 redux 或任何第三方库来存储状态。用户会话详细信息当前由Auth-mfe存储在 sessionStorage 中。
容器 app.js 片段是
function App() {
return (
<BrowserRouter>
<div>
<Header notifySignedIn={notifySignedIn} />
<Suspense fallback={<Progress />}>
<Switch>
<Route path="/auth" render={props => (<AuthLazy onSignin={onSignin} {...props} /> )} />
</Switch>
</Suspense>
<Footer />
</div>
</BrowserRouter>
);
}
导出默认应用程序;
解决方案
参考这篇文章,我实现了从 container => header 传递回调函数,然后 header 将 subscribe 函数传递回容器。这样就可以了。
推荐阅读
- python-3.x - 如何禁用python历史保存?
- discord.js - 如何使静音角色覆盖其他角色
- javascript - 如何使用 react-native 从 API 获取嵌套对象
- reactjs - 如何将 ID 添加到材料表行?
- r - ggplot2 - 使用辅助轴将标签添加到第二个图形
- c# - 当我在异步中使用添加控件时如何解决跨线程问题?c#
- r - shinyapps.io 和 Microsoft R 客户端的问题 - “rsconnect 包已过期”
- laravel - Laravel Left join 不使用 where 子句返回所有记录
- android - Android Studio中相互依赖的回调函数——更优雅的解决方案
- arrays - Swift 5:将数组/字典转换为 JSON 格式