React (biblioteca de JavaScript)


React (también conocido como React.js o ReactJS ) es una biblioteca de JavaScript front-end gratuita y de código abierto [3] para crear interfaces de usuario basadas en componentes de UI. Lo mantiene Meta (anteriormente Facebook) y una comunidad de desarrolladores y empresas individuales. [4] [5] [6] React se puede utilizar como base en el desarrollo de aplicaciones móviles o de una sola página . Sin embargo, React solo se preocupa por la gestión del estado y la presentación de ese estado al DOM , por lo que la creación de aplicaciones React generalmente requiere el uso de bibliotecas adicionales para el enrutamiento, así como ciertas funciones del lado del cliente. [7]

La Greeterfunción es un componente de React que acepta una propiedad greeting. La variable Appes una instancia del Greetercomponente donde greetingse establece la propiedad 'Hello, World!'. El ReactDOM.rendermétodo luego representa el componente Greeter dentro del elemento DOM con id myReactApp.

React se adhiere al paradigma de programación declarativa . Los desarrolladores diseñan vistas para cada estado de una aplicación, y React actualiza y renderiza componentes cuando cambian los datos.

El código de React está formado por entidades llamadas componentes . Los componentes se pueden representar en un elemento particular en el DOM usando la biblioteca React DOM. Al renderizar un componente, se pueden pasar valores que se conocen como "props": [8]

Las dos formas principales de declarar componentes en React son a través de componentes de función y componentes basados ​​en clases.

Otra característica notable es el uso de un modelo de objeto de documento virtual , o DOM virtual. Reaccionar crea una en memoria caché de estructuras de datos, calcula las diferencias resultantes, y luego actualiza mostrado DOM del navegador de manera eficiente. [9] Este proceso se llama reconciliación . Esto permite al programador escribir código como si toda la página se representara en cada cambio, mientras que las bibliotecas React solo representan los subcomponentes que realmente cambian. Esta representación selectiva proporciona un importante impulso al rendimiento. [10] Ahorra el esfuerzo de recalcular el estilo CSS, el diseño de la página y el renderizado de toda la página. [10]