{ ui: <Component />, }¿Qué pasa si un objeto almacena cientos de estos componentes? ¿Sería esto intensivo en memoria?
No requeriría más memoria que mostrarlos en la interfaz de usuario. Detrás de escena, React almacena los componentes como objetos, por lo que no hay costo de rendimiento.
El código <Component /> transpila a React.createElement(Component, null); , que devolverá un objeto que se parece más o menos a esto (las compilaciones de desarrollo pueden incluir propiedades adicionales para ayudar con la depuración):
{ $$typeof: Symbol(react.element) key: null, props: {} ref: null, type: Component, _owner: null, } De esos, los props y el type son las únicas cosas que posiblemente podrían tener una huella de memoria significativa. Pero es muy probable que se haga referencia a Component en otro lugar de todos modos, por lo que dudo que se pueda recolectar basura, ya sea que cree este elemento o no.
En resumen, diría que la memoria es solo un problema si se cumplen las dos condiciones siguientes: 1) los accesorios son muy grandes y 2) los accesorios serían basura si no fuera por este elemento.