En React, este tipo de componente se conoce como un «componente de orden superior» o «HOC» (Higher Order Component).

Un HOC es una función que toma un componente y devuelve otro componente que generalmente proporciona funcionalidad adicional al componente original.
Supongamos que queremos crear un HOC llamado WrapperComponent que envuelva a otro componente llamado WrappedComponent y le proporcione alguna funcionalidad adicional.
Por ejemplo, podríamos querer proporcionar un borde rojo alrededor de WrappedComponent. Aquí tienes cómo hacerlo:
import React from 'react';
// Definimos nuestro HOC
const WrapperComponent = (WrappedComponent) => {
// Retorna un nuevo componente
return class extends React.Component {
render() {
// Aquí podemos agregar cualquier lógica adicional antes o después de renderizar el componente envuelto
return (
<div style={{ border: '2px solid red', padding: '10px' }}>
{/* Renderizamos el componente envuelto y pasamos todas las props */}
<WrappedComponent {...this.props} />
</div>
);
}
};
};
// Creamos un componente que queremos envolver
const MyComponent = (props) => {
return (
<div>
<h2>Componente Envuelto</h2>
<p>Propiedad: {props.propiedad}</p>
</div>
);
};
// Envolver MyComponent con nuestro HOC
const WrappedMyComponent = WrapperComponent(MyComponent);
// Usamos WrappedMyComponent en nuestra aplicación
const App = () => {
return (
<div>
<h1>Aplicación con Componente Envuelto</h1>
<WrappedMyComponent propiedad="¡Hola!" />
</div>
);
};
export default App;
En este ejemplo, WrapperComponent es una función que toma WrappedComponent como argumento y devuelve un nuevo componente que envuelve WrappedComponent con un borde rojo. Luego, usamos WrapperComponent para envolver nuestro componente MyComponent y creamos WrappedMyComponent.
Finalmente, usamos WrappedMyComponent en nuestra aplicación.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.