¡¡No dejes que tus componentes accedan al contexto de la aplicación!!
La idea del Componente en React es la de una pieza de UI que puede ser reutilizada, incluso en una aplicación diferente a aquella para la cual fue pensada. Las librerías de componentes son la máxima expresión de esto, en ocasiones con componentes que pueden ser personalizados hasta el último detalle.
Pero, sin llegar a ese punto, podemos crear componentes re-utilizables y que puedan moverse de una aplicación a otra sin mayor trauma, solo teniendo en consideración una estrategia de diseño que protege nuestros componentes de ser invadidos por el contexto y las reglas del negocio de nuestra aplicación.
Esta es, el Context Wrapper, que no es más que la idea de mantener el contexto un nivel por encima del componente que realmente necesita los datos del contexto, y proporcionar desde ese nivel superior los datos por medio de props.
Esto evita directamente los problemas frecuentes en la migración, donde normalmente nos veríamos obligados a modificar nuestro componente o el contexto de la aplicación receptora. Pero bajo esta forma de diseño, solo copiamos el componente y empezamos a usarlo inmediatamente proporcionando los props que necesite.
Claro, Context Wrapper no es tan limpio como pretende, pues da lugar a sub-clasificaciones de componentes que si no se tienen claras pueden complicar las cosas, pero eso va para otro artículo.
Top comments (0)