Open windbeneathyourwings opened 2 years ago
I was able to get this functioning.
The trick was the component name in the loaded module is "default". The default component is actually a function. Therefore, instead of passing component directly to ReactDOM.render() the result of the function was passed instead. I'm still not quite certain if the ReactDOM is needed or the function returns a dom element that can just be appended to the dom. I'm also not sure if that is the case if it would have unintended on consequences else where.
I have created a react mfe using standard webpack 5 module federation.
https://github.com/ng-druid/webpack-react
I have been successful loading that mfe as a script with loadRemoteModule using the below configuration in the shell.
I created a component in the shell to render a react component based on the information I found in the below tutorial.
https://medium.com/@zacky_14189/embedding-react-components-in-angular-the-easy-way-60f796b68aef
That component can be seen here.
https://github.com/ng-druid/platform/blob/react-integration/modules/react/src/lib/components/mfe-react.component/mfe-react.component.ts
When the react mfe1 is loaded and output input in that component for render the below errors occur.
I expect this to error.
However, it would be nice to know if anyone else has tried this and what solutions they might have.
That is rendering a react mfe inside an Angular shell.
It seems like I need to find a function in react that allows rendering of the compiled component to the react dom. Although I'm not even certain I need the react dom in the first place.