Introducción
React es una librería de JavaScript para construir interfaces de usuario (UI), se utiliza en el frontend para crear aplicaciones web interactivas. Es a su vez una libreria sumaente flexible y escalable, lo que la hace ideal para trabajar en proyectos de cualquier tamaño. Dado que es una libreria existe muchisimas formas de trabajar sobre React, una de las mas comunes es utilizar React en conjunto con Redux para manejar el estado de la aplicacion.`
Tambien React puede funcionar en conjunto con otras librerias como React Router para manejar el enrutamiento de la aplicacion, React Bootstrap para manejar el diseño de la aplicacion, React Native para crear aplicaciones moviles, entre otras.
React no solo se limita a usarse con JavaScript, tambien se puede utilizar con TypeScript, Flow, ReasonML, Elm, etc. Asi que para utilizar React se puede utilizar de diversas formas, y aunque hay muchos paquetes que se pueden utilizar con React, la libreria en si es muy simple y facil de aprender.
¿Qué se verá en la guia?
Como tal, no es una guia de React para que aprendas a utilizarlo desde cero, el enfoque de esta guia es que puedas aprender a utilizar React con los estandares que se ha establecido por el equipo de Desarrollo en la empresa de GM. Asi que aunque pueda parecer tedioso, es importante que sigas los pasos que se te indican en esta guia para que puedas aprender a utilizar React de la forma correcta utilizada en el equipo. Se tiene en mente que pueda que ya conozca muchos de los conceptos que se va a tratar, pero consideramos amablemente que de una leida para comprender como se programa React en el equipo.

¿Por qué se utiliza React?
- Declarativo: React hace que sea fácil crear interfaces de usuario interactivas. Diseña vistas simples para cada estado en tu aplicación, y React actualizará y renderizará eficientemente los componentes correctos cuando los datos cambien.
- Basado en componentes: Construye componentes encapsulados que manejan su propio estado, y luego compónlos para hacer interfaces de usuario complejas.
- Aprender una vez, escribir en cualquier lugar: React no se limita a la web. Puedes utilizarlo con React Native para construir aplicaciones móviles nativas.
- Herramientas de desarrollo: React tiene una gran comunidad y un ecosistema de herramientas que te ayudarán a hacer que tu aplicación sea más eficiente y fácil de mantener.
- Rendimiento: React renderiza los componentes de forma eficiente, solo actualiza los componentes que cambian en lugar de volver a renderizar toda la aplicación.
¿Qué se necesita para seguir la guia?
Para seguir esta guia se necesita tener conocimientos basicos de JavaScript, HTML y CSS. Si no tienes conocimientos de JavaScript, no te preocupes, aqui se veran muchos conceptos propios de JavaScript o TypeScript con el fin de comprender en su totalidad como se programa en React. Pero si deseas aprender por tu cuenta de otra manera, es totalmente recomendable que aprendas JavaScript antes de seguir con esta guia.