本章将介绍如何使用 createRemoteAppComponent 在宿主应用中加载和集成远程 React 应用。
createRemoteAppComponent 是 React Bridge 的核心 API,用于在宿主应用中加载远程 React 应用。它具有以下特性:
在宿主应用的配置文件中,添加远程应用的配置:
以下示例使用 Rsbuild 配置,请根据您使用的构建工具进行相应调整:
@module-federation/rsbuild-plugin@module-federation/enhanced/rspack@module-federation/enhanced/webpack@module-federation/vite首先,创建加载状态和错误处理组件:
使用 createRemoteAppComponent 创建远程组件:
在主应用中配置路由:
basename: 设置远程应用的基础路径memoryRoute: 内存路由配置,用于将子应用路由作为 memoryRouter 控制style: React.CSSProperties - 设置组件样式className: string - 设置组件类名ref: React.Ref<HTMLDivElement> - 转发引用到内部容器元素,可用于 DOM 操作props: 传递给远程组件的属性对象userId={'123'}配置参数接口:
返回组件的属性接口:
() => Promise<T>React.ReactNodeReact.ComponentType<{ error: Error }>error 属性类型: E extends keyof T (泛型约束,通常是 string)
必需: 否
默认值: 'default'
作用: 指定要使用的远程模块导出名称
示例:
假设远程模块有以下导出:
在宿主应用中可以这样使用: