Estoy tratando de representar un componente de interfaz de usuario usando el módulo de utilidad en el navegador en single-spa , que he creado usando el comando create-single-spa y seleccioné la opción de módulo en el navegador. Como no hay una biblioteca " spa-react única " que viene con un módulo de utilidad en el navegador que ayuda a representar elementos en dom, ¿cómo podemos lograr representar elementos de UI como párrafo, ancla, etiquetas div, etc.? En la documentación se mencionó que los módulos de utilidad en el navegador pueden o no representar elementos ui. El enlace para la documentación es https://single-spa.js.org/docs/module-types . Cualquier aporte sobre cómo lograr esto es apreciado.
¡¡Gracias por adelantado!!
A nivel técnico, los módulos de utilidad no son tan diferentes de las aplicaciones. La diferencia es que una aplicación exporta ciclos de vida de un solo spa y un módulo de utilidad normalmente no lo hace. Sin embargo, esto no significa que un módulo de utilidad no pueda usar un marco como React. Este es un patrón muy útil para algunos microservicios, como un módulo de "servicio de notificación" que usan todas las demás microfrontends y que (podría) mostrarse al usuario. single-spa-react no sería necesario para este módulo, ya que ese asistente solo genera las funciones de ciclo de vida necesarias para las aplicaciones. Todo lo que se exporta desde el archivo de entrada de este módulo es su API pública. Sus opciones en este punto son:
react , react-dom y bibliotecas relacionadas (por ejemplo, webpack-config-single-spa-react ) al módulo de utilidad Después de lo cual, usaría el ReactDOM.render normal para montar un contenedor que se usará para representar cualquier interfaz de usuario de la que sea responsable ese microservicio. Usaría un elemento DOM existente que está definido en el diseño de configuración raíz (es decir, ReactDOM.render(App, document.getElementById('notification-root')) ) pero hay más de una forma de abordar esto, como usar React Portals, ¡o incluso no usar React! Sería igualmente simple de implementar con Vanilla JavaScript; Cualquier marco web solo proporciona familiaridad y una manipulación DOM más fácil, pero eso es todo.