
He estado trabajando con React y React-Native durante los últimos meses. Ya lancé dos aplicaciones en producción, Kiven Aa (React) y Pollen Chat (React Native). Cuando comencé a aprender React, estaba buscando algo (un blog, un video, un curso, lo que sea) que no solo me enseñara a escribir aplicaciones en React. También quería que me preparara para las entrevistas.
La mayor parte del material que encontré, se concentró en uno u otro. Entonces, esta publicación está dirigida a la audiencia que busca una combinación perfecta de teoría y práctica. Te daré un poco de teoría para que comprendas lo que está sucediendo bajo el capó y luego te mostraré cómo escribir código React.js.
Si prefieres el video, también tengo este curso completo en YouTube. Por favor, compruébalo.
Vamos a sumergirnos ...
React.js es una biblioteca de JavaScript para crear interfaces de usuario
Puede crear todo tipo de aplicaciones de una sola página. Por ejemplo, mensajeros de chat y portales de comercio electrónico donde desea mostrar cambios en la interfaz de usuario en tiempo real.
Todo es un componente
Una aplicación React se compone de componentes, muchos de ellos , anidados entre sí. “Pero, ¿qué son los componentes?”, Te preguntarás.
Un componente es un fragmento de código reutilizable, que define cómo deben verse y comportarse determinadas funciones en la interfaz de usuario. Por ejemplo, un botón es un componente.
Veamos la siguiente calculadora, que ves en Google cuando intentas calcular algo como 2 + 2 = 4 –1 = 3 (¡matemáticas rápidas!)

Como puede ver en la imagen de arriba, la calculadora tiene muchas áreas, como la ventana de visualización de resultados y el teclado numérico . Todos estos pueden ser componentes separados o un componente gigante. Depende de lo cómodo que uno se sienta descomponiendo y abstrayendo cosas en React
Escribe el código para todos estos componentes por separado. Luego, combine los que están debajo de un contenedor, que a su vez es un componente de React en sí mismo. De esta manera, puede crear componentes reutilizables y su aplicación final será una colección de componentes separados que trabajarán juntos.
La siguiente es una de las formas en que puede escribir la calculadora, que se muestra arriba, en React:
¡Si! Parece un código HTML, pero no lo es. Exploraremos más sobre esto en las secciones posteriores.
Configurar nuestro patio de juegos
Este tutorial se centra en los fundamentos de React. No está dirigido principalmente a React for Web o React Native (para crear aplicaciones móviles). Por lo tanto, usaremos un editor en línea para evitar configuraciones específicas nativas o web antes incluso de aprender lo que puede hacer React.
Ya configuré un entorno para ti en codepen.io. Simplemente siga el enlace y lea todos los comentarios en las pestañas HTML y JavaScript (JS).
Control de componentes
Hemos aprendido que una aplicación React es una colección de varios componentes, estructurados como un árbol anidado. Por lo tanto, necesitamos algún tipo de mecanismo para pasar datos de un componente a otro.
Ingrese "accesorios"
Podemos pasar datos arbitrarios a nuestro componente usando un props
objeto. Cada componente de React obtiene este props
objeto.
Antes de aprender a utilizar este props
objeto, aprendamos sobre los componentes funcionales.
a) Componente funcional
Un componente funcional en React consume datos arbitrarios que le pasas usando props
object. Devuelve un objeto que describe lo que debería representar UI React. Los componentes funcionales también se conocen como componentes sin estado.
Escribamos nuestro primer componente funcional:
Es así de simple. Simplemente pasamos props
como argumento a una función de JavaScript simple y devolvimos, umm, bueno, ¿qué fue eso? Esa {props.name}
i v> cosa! Es JSX (JavaScript extendido). Aprenderemos más sobre esto en una sección posterior.
Esta función anterior mostrará el siguiente HTML en el navegador:
Lea la sección a continuación sobre JSX, donde he explicado cómo obtenemos este HTML de nuestro código JSX.
¿Cómo puede utilizar este componente funcional en su aplicación React? ¡Me alegro de que lo hayas preguntado! Es tan simple como lo siguiente:
El atributo name
en el código anterior se convierte props.name
en nuestro Hello
componente. El atributo se age
convierte en props.age
y así sucesivamente.
¡Recuerda! Puede anidar un componente de React dentro de otros componentes de React.
Hello
Usemos este componente en nuestro patio de juegos de codepen. Reemplace el div
interior ReactDOM.render()
con nuestro Hello
componente, de la siguiente manera, y vea los cambios en la ventana inferior.
Pero, ¿y si su componente tiene algún estado interno? Por ejemplo, como el siguiente componente del contador, que tiene una variable de conteo interna, que cambia al presionar las teclas + y -.
b) Componente basado en clases
El componente basado en clases tiene una propiedad adicional state
, que puede utilizar para almacenar los datos privados de un componente. Podemos reescribir nuestro Hello
componente usando la notación de clase de la siguiente manera. Dado que estos componentes tienen un estado, también se conocen como componentes con estado .
Extendemos la React.Component
clase de biblioteca React para hacer componentes basados en clases en React. Obtenga más información sobre las clases de JavaScript aquí.
El render()
método debe estar presente en su clase, ya que React busca este método para saber qué interfaz de usuario debe mostrar en la pantalla.
Para utilizar este tipo de estado interno, primero tenemos que inicializar el state
objeto en el constructor de la clase del componente, de la siguiente manera.
De manera similar, props
se puede acceder a dentro de nuestro componente basado en clases usando this.props
object.
Para establecer el estado, usa React.Component
's setState()
. Veremos un ejemplo de esto, en la última parte de este tutorial.
Consejo: Nunca llame a la función setState()
interna render()
, ya que setState()
hace que el componente se vuelva a renderizar y esto resultará en un bucle sin fin.

Original text

Además state
, un componente basado en clases tiene algunos métodos de ciclo de vida como componentWillMount().
Estos que puede usar para hacer cosas, como inicializar state
y todo, pero eso está fuera del alcance de esta publicación.
JSX
JSX es una forma corta de JavaScript Extended y es una forma de escribir React
componentes. Usando JSX, obtiene todo el poder de JavaScript dentro de las etiquetas XML.
Pones expresiones de JavaScript dentro {}
. Los siguientes son algunos ejemplos válidos de JSX.
La forma en que funciona es escribir JSX para describir cómo debería verse su interfaz de usuario. Un transpiler como Babel
convierte ese código en un montón de React.createElement()
llamadas. La biblioteca React luego usa esas React.createElement()
llamadas para construir una estructura en forma de árbol de elementos DOM (en el caso de React para Web) o vistas nativas (en el caso de React Native) y la mantiene en la memoria.
React luego calcula cómo puede imitar efectivamente este árbol en la memoria de la interfaz de usuario que se muestra al usuario. Este proceso se conoce como reconciliación. Una vez realizado ese cálculo, React realiza los cambios en la interfaz de usuario real en la pantalla.

Puede usar el REPL en línea de Babel para ver lo que realmente produce React cuando escribe algo de JSX.

Dado que JSX es solo un azúcar sintáctico sobre React.createElement()
llamadas simples , React se puede usar sin JSX
Ahora tenemos todos los conceptos en su lugar, por lo que estamos bien posicionados para escribir un counter
componente que vimos anteriormente como GIF.
El código es el siguiente y espero que ya sepa cómo renderizarlo en nuestro patio de juegos.
Los siguientes son algunos puntos destacados sobre el código anterior.
- JSX usa, por lo
camelCasing
tantobutton
, el atributo esonClick
, noonclick
, como usamos en HTML. - El enlace es necesario para
this
trabajar en devoluciones de llamada. Vea la línea # 8 y 9 en el código anterior.
El código interactivo final se encuentra aquí.
Con eso, llegamos a la conclusión de nuestro curso intensivo de React. Espero haber arrojado algo de luz sobre cómo funciona React y cómo puedes usar React para crear aplicaciones más grandes, utilizando componentes más pequeños y reutilizables.
Si tienes alguna consulta o duda, contáctame en Twitter @ rajat1saxena o escríbeme a [email protected]
Recomiende esta publicación, si le gustó, y compártala con su red. Sígueme para obtener más publicaciones relacionadas con la tecnología y considera suscribirte a mi canal Rayn Studios en YouTube. Muchas gracias.