Aquí hay un desglose de los algoritmos clave que impulsan React:
1. Algoritmo de diferenciación
- El algoritmo de diferenciación es crucial para la eficiencia de React.
- Cuando el estado o los accesorios de un componente cambian, React compara el DOM virtual actual con el nuevo DOM virtual usando este algoritmo.
- Al examinar los dos árboles nodo por nodo de arriba a abajo, identifica diferencias y actualiza solo los elementos modificados en el DOM real.
- Esta actualización dirigida minimiza las costosas manipulaciones DOM, lo que resulta en un rendimiento más rápido.
Pero para que sea un algoritmo más exitoso/optimizado necesitamos agregar claves en los elementos de la lista.
2. Reconciliación
-
La reconciliación es el proceso React utiliza para actualizar el DOM.
- Al cambiar el estado o los accesorios de un componente, React genera un nuevo DOM virtual y lo compara con el anterior.
- Aprovechando el algoritmo de diferenciación, React calcula el conjunto mínimo de cambios necesarios para sincronizar el DOM real con el nuevo DOM virtual, asegurando actualizaciones eficientes.
3. Reaccionar fibra
- React Fiber es una versión reinventada del algoritmo de reconciliación de React, introducido en React 16.
- El objetivo principal de Fiber es permitir la renderización incremental, lo que permite dividir el trabajo de renderización en partes más pequeñas y distribuirlas en varios fotogramas.
- Esta capacidad permite a React pausar, cancelar o reutilizar el trabajo a medida que llegan nuevas actualizaciones y asignar prioridad a diferentes tipos de actualizaciones, mejorando la capacidad de respuesta.
4. API de contexto
- La API Context aborda el desafío de la perforación de puntal al permitir el intercambio de datos en todos los niveles de una aplicación React.
- Utiliza una relación Proveedor-Consumidor para pasar datos por el árbol de componentes, simplificando la gestión del estado global sin la necesidad de pasar accesorios manualmente a través de cada nivel.
NOTA: - Tiene sus propios problemas, se actualizará más información relacionada con esto en un artículo separado.
No dudes en comunicarte conmigo si tienes alguna pregunta o inquietud.