¿Qué es exactamente React?
A menudo se describe React como «la V en la arquitectura MVC«. Esta es la explicación menos tangible que uno le puede dar a un recién llegado, puesto que las (V)istas son archivos sin lógica alguna que son cargados dentro de la aplicación a través de controladores. Frameworks como Angular, Backbone, Ember y demás, pueden manejar las vistas sin problemas. Entonces la cuestión es: ¿Porqué necesitaríamos remplazar la V dentro de MVC con React?.
La respuesta es que React no quiere remplazar nuestras vistas – lo que quiere es aumentarlas permitiéndonos crear componentes para nuestra interfaz altamente reutilizables (pestañas, contenedores de comentarios, ventanas modales, listas, tablas con ordenación, etc).
En otras palabras, la idea principal detrás de React es: ¿Por qué no creas tu propio elemento HTML que tenga su propia funcionalidad?. Por ejemplo, uno puede crear un elemento <CommentBox> que muestre un textarea, realice las validaciones necesarias sobre el texto introducido, envíe el formulario cuando se presione la tecla enter, etcétera. Todo esto incluyendo una sola línea de código:
<CommentBox></CommentBox>
Para aquellos que venís del mundo de Angular, puedes comparar los componentes de React como algo cercano a las Directivas.
Componentes: El futuro del desarrollo web
Sin embargo, React es capaz de comenzar a ser un sustitutivo de tus vistas porque te permite anidar componentes. ¿Qué es una vista sino un gran componente de interfaz de usuario?. Por ejemplo, una página web que sea renderizada por completo con React se parecerá a lo siguiente:
<HomePage> <Header tab-selected=“home” /> <ScrollingBanner>Welcome to my webpage!</ScrollingBanner> <p>Enter your info below if you want to get in touch!</p> <ContactForm /> <Footer /> </HomePage>
Cada uno de estas etiquetas HTML personalizadas tienen su propia funcionalidad que muestran elementos del DOM relevantes.
Lo bonito de esta estructura es que todo el HTML y la funcionalidad JavaScript está encapsulada en sus respectivos componentes de React, lo que hace que el leer (y construir) código para grandes aplicaciones sea mucho más sencillo y rápido. Pero lo mejor de React no termina aquí, puedes leer las entradas de Facebook «Why React?» y «Why did we build React?» donde explican detalladamente lo que hace a React algo único.
Fuente original: https://thinkster.io/tutorials/what-exactly-is-react