本章将介绍如何使用 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.ReactNode
React.ComponentType<{ error: Error }>
error
属性类型: E extends keyof T
(泛型约束,通常是 string
)
必需: 否
默认值: 'default'
作用: 指定要使用的远程模块导出名称
示例:
假设远程模块有以下导出:
在宿主应用中可以这样使用: