Eliminación de React Context mediante Custom Hooks en React

Clase 7 de 19Curso de React.js: Patrones de Render y Composición

Resumen

Al reformar una aplicación, a veces descubrimos que algunas herramientas o métodos que inicialmente parecían necesarios, como React Context, pueden volver a evaluarse e incluso eliminarse. En este caso, una composición inteligente de componentes nos ha llevado a un punto donde el uso de React Context podría no ser ya esencial. Con un dominio adecuado de la arquitectura de nuestra aplicación y un tamaño manejable de nuestro dom, podemos buscar formas más sencillas y directas de pasar información entre componentes.

¿Cómo simplificar la arquitectura de una aplicación en React?

Reconsiderar la necesidad de React Context

React Context es ampliamente usado para evitar el "prop drilling" o pasar propiedades manualmente a través de un árbol de componentes. Sin embargo, su uso puede no ser necesario si la aplicación no es lo suficientemente compleja o si la estructura de componentes está bien compuesta.

  • Verifica dónde y cómo estás utilizando React Context.
  • Evalúa si la información se está pasando sólo entre algunos componentes cercanos y no a través de toda la aplicación.

Refactorización directa en el componente principal

Una vez determinada la innecesaria complejidad que introduce React Context, se puede proceder a una simplificación:

  • Mueve la lógica de estado y datos del componente que utiliza React Context al componente principal.
  • Reemplaza el uso de React Context con un Custom Hook que maneje la lógica y el estado.

Adaptando los componentes hijo

Después de retirar React Context, ajusta los componentes que dependían de él:

  • Cambia las llamadas previas al Context por propiedades pasadas directamente a los componentes.
  • Asegúrate de pasar todas las funciones y estados necesarios como props a los componentes que los necesiten.

¿Qué debemos tener en cuenta al eliminar React Context?

Actualización de los imports

Al reestructurar la aplicación, es esencial actualizar los imports para reflejar los cambios en la ubicación y uso de las funciones y lógica de estado.

  • Asegúrate de que todos los imports reflejen las nuevas ubicaciones de los archivos y componentes.
  • Utiliza herramientas de tu IDE para actualizar automáticamente las importaciones si es posible.

Mantenimiento y eliminación de código obsoleto

Después de adaptar tu aplicación, es probable que te encuentres con código obsoleto y archivos que ya no son necesarios.

  • Elimina cualquier archivo, como los del Context que ya no se utilizan.
  • Revisa cuidadosamente cada componente para asegurarte de que no queden referencias a Context que no se hayan eliminado.

Pruebas finales

La eliminación de una herramienta como React Context puede tener implicaciones en toda la aplicación.

  • Realiza pruebas exhaustivas para asegurarte de que todos los componentes funcionan correctamente tras los cambios.
  • Cualquier error encontrado deberá ser corregido, posible mente ajustando las nuevas props pasadas a los componentes.

Gracias a estos pasos, es completamente factible eliminar React Context de tu aplicación si la buena composición de componentes así lo permite. Mantente siempre abierto a la idea de que cada proyecto tiene sus particularidades y esto no siempre será aplicable. No obstante, cuando sea posible, disfrutarás de una simplificación en la arquitectura de tu aplicación que vale la pena explorar. Recuerda, seguir aprendiendo y desafiando tu enfoque actual es fundamental para tu crecimiento como desarrollador. ¡Sigue adelante!

      Eliminación de React Context mediante Custom Hooks en React