Eliminación de React Context mediante Custom Hooks en React
Clase 7 de 19 • Curso de React.js: Patrones de Render y Composición
Contenido del curso
Composición de componentes
- 3

Composición de Componentes en React: Principios y Prácticas
13:30 min - 4

Composición y Colocación de Estado en React con Patrones de Renderización
11:47 min - 5

Optimización de Composición de Componentes en React
05:03 min - 6

Composición Saludable con React Context en Aplicaciones React
08:29 min - 7

Eliminación de React Context mediante Custom Hooks en React
Viendo ahora
Render props
- 8

Render Props y Render Functions en React: Patrones Avanzados
06:50 min - 9

Render Props en React: Mejora de Componentes con Ejemplo de To-Do List
13:29 min - 10

Validación y optimización de Render Props y Render Functions en React
12:40 min - 11

Uso de React.Children y React.CloneElement para Composición Avanzada
12:05 min
High Order Components
- 12

Funciones y Componentes de Orden Superior en JavaScript y React
07:18 min - 13

Práctica de High-Order Components en React
14:02 min - 14

Sincronización de Cambios en React con StorageListener
16:17 min - 15

Sincronización de Estados en React con Local Storage
16:05 min - 16

Sincronización y validación de to-do list con local storage
04:20 min
React Hooks
Próximos pasos
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!