{"id":53864,"date":"2022-07-05T11:53:37","date_gmt":"2022-07-05T09:53:37","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=53864&#038;post_type=knowledgebase&#038;preview_id=53864"},"modified":"2025-10-01T21:32:15","modified_gmt":"2025-10-01T19:32:15","slug":"que-es-react-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/","title":{"rendered":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript"},"content":{"rendered":"<p>La industria del desarrollo web ha experimentado un crecimiento constante en los \u00faltimos a\u00f1os; y a medida que este crecimiento contin\u00faa, surgen constantemente nuevas tecnolog\u00edas para ayudar a los desarrolladores a crear sitios y aplicaciones web f\u00e1ciles de usar.<\/p>\n<p>A lo largo de los a\u00f1os, hemos visto c\u00f3mo los <a href=\"https:\/\/kinsta.com\/es\/blog\/mejor-lenguaje-de-programacion-para-aprender\/\">lenguajes de programaci\u00f3n<\/a> web producen caracter\u00edsticas adicionales, c\u00f3mo se utilizan m\u00e1s lenguajes de programaci\u00f3n para crear tecnolog\u00edas web, e incluso c\u00f3mo se construyen frameworks y bibliotecas sobre las estructuras de las tecnolog\u00edas existentes.<\/p>\n<p>En este tutorial, hablaremos de React \u2014 la <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#section-most-popular-technologies-web-frameworks\" target=\"_blank\" rel=\"noopener noreferrer\">biblioteca de JavaScript basada en componentes m\u00e1s popular<\/a> utilizada para crear interfaces de usuario. Aunque este tutorial ser\u00e1 totalmente apto para principiantes, tambi\u00e9n puede servir como gu\u00eda de referencia para los desarrolladores experimentados de React.<\/p>\n\n<p>Hablaremos de las caracter\u00edsticas de React, los pros y los contras, por qu\u00e9 deber\u00edas usarlo y c\u00f3mo instalar y usar React. Tambi\u00e9n veremos algunas de las funcionalidades principales de React utilizando ejemplos pr\u00e1cticos de c\u00f3digo.<\/p>\n<p>Al final de este tutorial, deber\u00edas entender qu\u00e9 es React y c\u00f3mo funciona, y ser capaz de utilizarlo en la construcci\u00f3n de proyectos incre\u00edbles.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>\u00bfQu\u00e9 es React?<\/h2>\n<p>React.js, com\u00fanmente llamado simplemente React, es una <a href=\"https:\/\/kinsta.com\/es\/blog\/bibliotecas-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">biblioteca de JavaScript<\/a> que se utiliza para construir interfaces de usuario. Toda aplicaci\u00f3n web React se compone de componentes reutilizables que conforman partes de la interfaz de usuario \u2014 podemos tener un componente distinto para nuestra barra de navegaci\u00f3n, otro para el pie de p\u00e1gina, otro para el contenido principal, etc. Entender\u00e1s mejor esto cuando lleguemos a la secci\u00f3n en la que tenemos que trabajar con componentes.<\/p>\n<p>Tener estos componentes reutilizables facilita el desarrollo porque no tenemos que repetir el c\u00f3digo reiterativo. S\u00f3lo tendr\u00edamos que crear su l\u00f3gica e importar el componente en cualquier parte del c\u00f3digo donde se necesite.<\/p>\n<p>React tambi\u00e9n es una aplicaci\u00f3n de una sola p\u00e1gina. Por tanto, en lugar de enviar una petici\u00f3n al servidor cada vez que hay que renderizar una nueva p\u00e1gina, el contenido de la p\u00e1gina se carga directamente desde los componentes de React. Esto conduce a una renderizaci\u00f3n m\u00e1s r\u00e1pida sin recargas de la p\u00e1gina.<\/p>\n<p>En la mayor\u00eda de los casos, la sintaxis utilizada para construir aplicaciones React se llama JSX (JavaScript XML), que es una extensi\u00f3n de la sintaxis de <a href=\"https:\/\/kinsta.com\/es\/blog\/next-js\/\">JavaScript<\/a>. Esto nos permite combinar la l\u00f3gica de JavaScript y la l\u00f3gica de la interfaz de usuario de una manera \u00fanica. Con JSX, eliminamos la necesidad de interactuar con el DOM utilizando m\u00e9todos como <code>document.getElementById<\/code>, <code>querySelector<\/code>, y otros m\u00e9todos de manipulaci\u00f3n del DOM.<\/p>\n<p>Aunque el uso de JSX no es obligatorio, facilita el desarrollo de aplicaciones React.<\/p>\n<p>Aqu\u00ed tienes un ejemplo de c\u00f3mo podemos utilizar JSX en React:<\/p>\n<pre><code class=\"language-js\">function App() {\n    const greetings = \"Hello World\";\n        return (\n            &lt;div className=\"App\"&gt;\n            &lt;h1&gt; {greetings} &lt;\/h1&gt;\n            &lt;\/div&gt;\n        );\n    }\n}<\/code><\/pre>\n<p>En el c\u00f3digo anterior, utilizamos un componente funcional de React para mostrar un texto en el navegador. El nombre del componente es <code>App<\/code>. Hemos creado una variable antes de la funci\u00f3n <code>render()<\/code>.<\/p>\n<p>A continuaci\u00f3n, pasamos esta variable al marcado utilizando llaves. Esto no es HTML, sino la sintaxis para escribir c\u00f3digo utilizando JSX.<\/p>\n<p>En la siguiente secci\u00f3n, repasaremos algunas de las razones por las que deber\u00edas utilizar React.<\/p>\n<h2>\u00bfPor qu\u00e9 React?<\/h2>\n<p>Muchos <a href=\"https:\/\/kinsta.com\/es\/blog\/salario-desarrollador-web\/\" rel=\"noopener\">desarrolladores<\/a> y organizaciones han elegido React en lugar de otras bibliotecas\/frameworks; veamos el motivo a continuaci\u00f3n:<\/p>\n<ul>\n<li><strong>F\u00e1cil de aprender:<\/strong> React es f\u00e1cil de aprender y comprender siempre que se conozcan bien los requisitos previos. React tiene una s\u00f3lida documentaci\u00f3n y muchos recursos gratuitos online. creados por otros desarrolladores a trav\u00e9s de la muy activa comunidad de React.<\/li>\n<li><strong>Componentes reutilizables:<\/strong> Cada componente en React tiene su propia l\u00f3gica que puede reutilizarse en cualquier parte de la aplicaci\u00f3n. Esto reduce la necesidad de reescribir el mismo trozo de c\u00f3digo varias veces.<\/li>\n<\/ul>\n<ul>\n<li><strong>Oportunidades de trabajo:<\/strong> Un mayor porcentaje de <a href=\"https:\/\/kinsta.com\/es\/blog\/desarrollador-de-frontend\/\" rel=\"noopener\">oportunidades de desarrollo web frontend<\/a> en este momento tienen React como una de las habilidades requeridas. Por lo tanto, entender c\u00f3mo funciona React y ser capaz de trabajar con \u00e9l aumenta tus posibilidades de conseguir un trabajo.<\/li>\n<\/ul>\n<ul>\n<li><strong>Mejora del rendimiento:<\/strong> Con el DOM virtual de React, la renderizaci\u00f3n de las p\u00e1ginas puede hacerse m\u00e1s r\u00e1pidamente. Al utilizar una biblioteca de enrutamiento como React Router, tendr\u00e1s diferentes p\u00e1ginas renderizadas sin necesidad de recargar la p\u00e1gina.<\/li>\n<\/ul>\n<ul>\n<li><strong>Ampliamente extensible:<\/strong> React es una librer\u00eda que s\u00f3lo renderiza la UI de nuestra aplicaci\u00f3n. Depende del desarrollador elegir con qu\u00e9 <a href=\"https:\/\/kinsta.com\/es\/blog\/herramientas-desarrollo-web\/\" rel=\"noopener\">herramientas trabajar<\/a>, como bibliotecas para renderizar diferentes p\u00e1ginas, bibliotecas de dise\u00f1o, etc.<\/li>\n<\/ul>\n<h2>\u00bfQui\u00e9n utiliza React?<\/h2>\n<p>React ha sido utilizado por muchos ingenieros de front-end tanto en startups como en empresas establecidas como Facebook, Netflix, Instagram, Yahoo, Uber, The New York Times, y m\u00e1s.<\/p>\n<p>Aunque todas las empresas mencionadas no construyeron todo su producto con React, algunas de sus p\u00e1ginas se construyeron con React. Esto se debe al alto rendimiento, la facilidad de uso y la escalabilidad de React.<\/p>\n<h2>Casos de uso de React<\/h2>\n<p>React se utiliza generalmente para construir la interfaz de usuario (frontend) de las aplicaciones web. Ofrece una r\u00e1pida renderizaci\u00f3n de las p\u00e1ginas y un mayor rendimiento. React puede utilizarse para construir cualquier producto que se ejecute en la web.<\/p>\n<p>\u00c9stas son algunas de las cosas para las que se suele utilizar React:<\/p>\n<ul>\n<li>Aplicaciones de reproducci\u00f3n de m\u00fasica<\/li>\n<li>Aplicaciones de redes sociales<\/li>\n<li>Aplicaciones de chat en tiempo real<\/li>\n<li>Aplicaciones web <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-un-desarrollador-full-stack\/\">Full-stack<\/a><\/li>\n<li>Aplicaciones de <a href=\"https:\/\/kinsta.com\/es\/blog\/alojamiento-comercio-electronico\/\">Comercio Electr\u00f3nico<\/a><\/li>\n<li>Aplicaciones meteorol\u00f3gicas<\/li>\n<li>Aplicaciones de listas de tareas<\/li>\n<\/ul>\n<h2>Caracter\u00edsticas de React<\/h2>\n<p>React tiene una pl\u00e9tora de caracter\u00edsticas incre\u00edbles que siguen haciendo que sea una opci\u00f3n muy popular para los desarrolladores.<\/p>\n<p>Estas son algunas de las caracter\u00edsticas principales de React:<\/p>\n<ul>\n<li><strong>JSX:<\/strong> Es una extensi\u00f3n de la sintaxis de JavaScript que ampl\u00eda las caracter\u00edsticas de ES6 (ECMAScript 2015). Nos permite combinar la l\u00f3gica y el marcado de JavaScript en un componente.<\/li>\n<\/ul>\n<ul>\n<li><strong>DOM virtual:<\/strong> Se trata de una copia del objeto DOM que primero actualiza y vuelve a renderizar nuestras p\u00e1ginas cuando se realizan cambios; luego compara el estado actual con el DOM original para mantenerlo sincronizado con los cambios. Esto hace que la <a href=\"https:\/\/kinsta.com\/es\/aprender\/optimizacion-de-velocidad-del-sitio\/\" rel=\"noopener\">renderizaci\u00f3n de las p\u00e1ginas sea m\u00e1s r\u00e1pida<\/a>.<\/li>\n<\/ul>\n<ul>\n<li><strong>Componentes:<\/strong> Las aplicaciones React est\u00e1n formadas por diferentes componentes reutilizables que tienen su propia l\u00f3gica e interfaz de usuario. Esto hace que sea eficiente para escalar aplicaciones y mantener un alto rendimiento porque no se duplica el c\u00f3digo tan a menudo como en otros frameworks.<\/li>\n<\/ul>\n<h2>Pros y Contras de React<\/h2>\n<p>Puede que React sea una herramienta muy popular para construir nuestra interfaz de usuario, pero todav\u00eda hay razones por las que algunos desarrolladores o principiantes deciden no utilizarla.<\/p>\n<p>En esta secci\u00f3n, hablaremos de las ventajas y desventajas de React.<\/p>\n<p>Estos son los pros de usar React:<\/p>\n<ol>\n<li><a href=\"https:\/\/kinsta.com\/es\/blog\/vue-vs-react\/\">React<\/a> es f\u00e1cil de aprender y entender.<\/li>\n<li>React tiene una comunidad muy activa en la que puedes contribuir y obtener ayuda cuando la necesites.<\/li>\n<li>Hay muchas oportunidades de trabajo para los desarrolladores de React.<\/li>\n<li>React ofrece un mayor rendimiento de las aplicaciones.<\/li>\n<\/ol>\n<p>Estos son algunos de los contras de usar React:<\/p>\n<ol>\n<li>Los principiantes que no tengan un conocimiento s\u00f3lido de JavaScript (especialmente de ES6) pueden tener dificultades para entender React.<\/li>\n<li>React viene sin algunas funcionalidades comunes como la gesti\u00f3n de estado \u00fanico y el enrutamiento; tendr\u00edas que instalar y aprender a usar bibliotecas externas para ellas.<\/li>\n<\/ol>\n<h2>C\u00f3mo Empezar con React<\/h2>\n<p>En esta secci\u00f3n, hablaremos primero de los requisitos previos para usar React y luego nos sumergiremos en la configuraci\u00f3n de una aplicaci\u00f3n React, la creaci\u00f3n de componentes, el manejo de eventos y el trabajo con estados, <a href=\"https:\/\/kinsta.com\/es\/blog\/react-usecallback\/\">hooks<\/a> y accesorios en React.<\/p>\n<h3>Requisitos Previos para Usar React<\/h3>\n<p>Antes de utilizar React, debes tener una buena comprensi\u00f3n y experiencia de <a href=\"https:\/\/kinsta.com\/es\/blog\/lenguajes-script\/\" rel=\"noopener\">JavaScript<\/a>. Estos son algunos de los temas de JavaScript que recomendamos repasar antes de usar React:<\/p>\n<ul>\n<li>Arrow functions<\/li>\n<li>Rest operator<\/li>\n<li>Spread operator<\/li>\n<li>M\u00f3dulos<\/li>\n<li>Desestructuraci\u00f3n<\/li>\n<li>M\u00e9todos de array<\/li>\n<li>Template literals<\/li>\n<li>Promesas<\/li>\n<li>Palabras clave <code>let<\/code> y <code>const<\/code><\/li>\n<\/ul>\n<p>La mayor\u00eda de estos temas est\u00e1n incluidos en ES6. Tambi\u00e9n deber\u00edas tener experiencia <a href=\"https:\/\/kinsta.com\/es\/blog\/aprender-html\/\" target=\"_blank\" rel=\"noopener noreferrer\">usando HTML<\/a>, ya que el marcado forma parte de la sintaxis de JSX.<\/p>\n<h3>C\u00f3mo Instalar React<\/h3>\n<p>Antes de instalar React, aseg\u00farate de que tienes <a href=\"https:\/\/kinsta.com\/es\/blog\/como-instalar-node-js\/\" rel=\"noopener\">Node.js instalado en tu ordenador<\/a>.<\/p>\n<p>Una vez que lo hayas instalado correctamente, ejecuta el siguiente comando en tu terminal:<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>Si todo ha ido bien, el comando anterior deber\u00eda decirte qu\u00e9 versi\u00f3n de Node.js est\u00e1 instalada actualmente en tu ordenador.<\/p>\n<p>A continuaci\u00f3n, vamos a ejecutar otro comando para empezar a instalar React.<\/p>\n<p>En primer lugar, crea una carpeta o navega hasta la ubicaci\u00f3n en la que quieres que se instale la aplicaci\u00f3n React, y luego ejecuta el siguiente comando en tu terminal:<\/p>\n<pre><code class=\"language-bash\">npx create-react-app react-kit<\/code><\/pre>\n<p>El comando anterior va a instalar React en una carpeta llamada <strong>react-kit<\/strong>.<\/p>\n<p>Una vez completada la instalaci\u00f3n, abre la carpeta de React reci\u00e9n instalada en el <a href=\"https:\/\/kinsta.com\/es\/blog\/mejores-editores-texto\/\" rel=\"noopener\">editor de c\u00f3digo<\/a> de tu elecci\u00f3n. En este tutorial utilizaremos Visual Studio Code. Visual Studio Code viene con un terminal integrado. Si vas a utilizar un terminal diferente, como Git Bash o CMD, s\u00f3lo tienes que ir al directorio de tu aplicaci\u00f3n React y ejecutar el siguiente comando:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Este comando pone en marcha tu servidor de desarrollo. Al cabo de un rato, deber\u00edas tener esta p\u00e1gina de abajo renderiz\u00e1ndose en <strong>localhost:3000<\/strong> en tu navegador:<\/p>\n<figure id=\"attachment_124283\" aria-describedby=\"caption-attachment-124283\" style=\"width: 1354px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-124283 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/05\/react-npm-start.png\" alt=\"Servidor de desarrollo de React tras su instalaci\u00f3n\" width=\"1354\" height=\"614\"><figcaption id=\"caption-attachment-124283\" class=\"wp-caption-text\">Servidor de desarrollo de React tras su instalaci\u00f3n<\/figcaption><\/figure>\n<p>Si has llegado hasta este punto, entonces has instalado con \u00e9xito tu primera aplicaci\u00f3n React. \u00a1Enhorabuena!<\/p>\n<p>Cuando eches un vistazo a tu estructura de carpetas, ver\u00e1s una carpeta llamada <strong>public<\/strong>. Esta carpeta tiene un archivo <strong>index.html<\/strong> donde se inyectar\u00e1 nuestro c\u00f3digo y se servir\u00e1 al navegador.<\/p>\n<p>La carpeta <strong>src<\/strong> es donde vivir\u00e1 toda nuestra l\u00f3gica, estilo y marcado; es nuestra carpeta de desarrollo con el archivo <strong>App.js<\/strong> que act\u00faa como componente ra\u00edz. El c\u00f3digo de este archivo es el que tenemos en la imagen anterior.<\/p>\n<p>Abre el archivo <strong>App.js<\/strong> y haz algunos cambios en el archivo, luego guarda para ver que se refleja autom\u00e1ticamente en el navegador.<\/p>\n<p>\u00bfTodo listo? \u00a1Ahora vamos a escribir algo de c\u00f3digo!<\/p>\n<h3>Componentes en React<\/h3>\n<p>Hay dos tipos principales de componentes en React: componentes de clase y componentes funcionales. Actualmente se est\u00e1 reescribiendo la documentaci\u00f3n de React utilizando Hooks, que es una caracter\u00edstica que se encuentra en los componentes funcionales. En este tutorial tambi\u00e9n utilizaremos componentes funcionales, ya que se han convertido en los componentes m\u00e1s utilizados en las aplicaciones React.<\/p>\n<p>En la mayor\u00eda de los casos, los componentes devuelven algo de <a href=\"https:\/\/kinsta.com\/es\/blog\/xml-vs-html\/\">c\u00f3digo HTML<\/a> con una mezcla de valores din\u00e1micos creados mediante JavaScript. Los componentes se crean como funciones en JavaScript.<\/p>\n<h3>Creaci\u00f3n de un Componente de Clase React<\/h3>\n<p>Veamos un ejemplo de componente de clase en React.<\/p>\n<p>Todo componente de clase debe incluir la declaraci\u00f3n <code>React.Component<\/code> y el <code> render()  subclass.<\/code><\/p>\n<pre><code class=\"language-js\">class Student extends React.Component {\n    constructor() {\n        super();\n        this.state = {language: \"JavaScript\"};\n    }\n    render() {\n        return &lt;p&gt;I am learning {this.state.language} &lt;\/p&gt;;\n    }\n}<\/code><\/pre>\n<p>En el componente anterior, hemos creado una variable de estado llamada <code>language<\/code> con un valor de cadena \u00abJavaScript\u00bb. A continuaci\u00f3n, utilizamos esta variable en nuestro marcado. Este ejemplo muestra c\u00f3mo podemos mezclar JavaScript y HTML sin hacer referencia a ning\u00fan m\u00e9todo del DOM.<\/p>\n<p>Cuando esto se renderice en el navegador, veremos \u00abEstoy aprendiendo JavaScript\u00bb renderizado en la p\u00e1gina.<\/p>\n<h3>Creaci\u00f3n de un Componente Funcional React<\/h3>\n<p>En esta secci\u00f3n, recrearemos el ejemplo de la \u00faltima secci\u00f3n utilizando un componente funcional.<\/p>\n<p>A\u00f1ade esta funci\u00f3n a tu archivo:<\/p>\n<pre><code class=\"language-js\">function Student() {\n    const language = \"JavaScript\";\n    return (\n        &lt;div&gt;\n        &lt;p&gt;I am learning { language } &lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}<\/code><\/pre>\n<p>El nombre de nuestro componente es el mismo: <code>Student<\/code>. Empieza siempre el nombre de tus componentes con una letra may\u00fascula. Esta variable tambi\u00e9n se pas\u00f3 al marcado, como hicimos en la \u00faltima secci\u00f3n, sin manipular el DOM mediante los m\u00e9todos DOM de JavaScript.<\/p>\n<p>Este componente tambi\u00e9n tiene una variable <code>Student<\/code> que se renderiz\u00f3, pero a medida que avancemos en el tutorial, utilizaremos un hook llamado <code>useState<\/code> Hook para crear nuestras variables de estado.<\/p>\n<h3>Manejo de Eventos en React<\/h3>\n<p>Los eventos utilizados en React son totalmente similares a los que utilizamos en <a href=\"https:\/\/kinsta.com\/es\/blog\/aprender-html\/\">HTML<\/a>. La \u00fanica diferencia es que los eventos de React se escriben en sintaxis camelCase. As\u00ed, \u00abonclick\u00bb ser\u00eda \u00abonClick\u00bb en React, \u00abonchange\u00bb ser\u00eda \u00abonChange\u00bb, etc.<\/p>\n<p>Al pasar un evento como atributo en una etiqueta HTML, utilizamos las llaves: <code> onClick={changeName}<\/code> en lugar de las comillas <code> onClick=\u201dchangeName\u201d<\/code><\/p>\n<p>Aqu\u00ed tienes un ejemplo (en el archivo <strong>App.js<\/strong>):<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>En el c\u00f3digo anterior, hemos creado una funci\u00f3n que avisa de un mensaje en el navegador. Tambi\u00e9n hemos creado un bot\u00f3n que llama a esta funci\u00f3n cuando se hace clic. El manejador de eventos utilizado aqu\u00ed es el manejador de eventos <code>onClick<\/code>.<\/p>\n<p>Te habr\u00e1s dado cuenta de que el nombre de la funci\u00f3n est\u00e1 entre corchetes y no entre comillas. As\u00ed es como se pasan los valores din\u00e1micos, como los nombres de las variables y las funciones, en el marcado cuando se utiliza JSX.<\/p>\n<p>Adem\u00e1s, en lugar de usar \u00abclass\u00bb como har\u00edamos al usar HTML, estamos usando \u00abclassName\u00bb. Esto se debe a que \u00abclass\u00bb es una palabra reservada en JavaScript.<\/p>\n<p>Exportamos nuestro componente en la \u00faltima l\u00ednea. Esto nos permite importarlos en otros componentes.<\/p>\n<h3>Trabajar con Estados en React<\/h3>\n<p>Para gestionar el estado de nuestra aplicaci\u00f3n en React, utilizamos un hook llamado <code>useState<\/code> Hook. Los ganchos nos permiten acceder a funciones adicionales de React sin tener que escribir una clase.<\/p>\n<p>Con los Hooks, podemos gestionar el estado de nuestro componente, e incluso realizar ciertos efectos cuando nuestras variables de estado se renderizan por primera vez o se modifican.<\/p>\n<p>Sin el hook <code>useState<\/code> en un componente funcional, cualquier cambio realizado en nuestras variables de estado no se reflejar\u00e1 en el DOM, por lo que el estado permanecer\u00e1 sin cambios.<\/p>\n<p>Veamos un ejemplo.<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Ahora, echemos un vistazo a lo que acabamos de hacer.<\/p>\n<p>Primero importamos el hook <code>useState<\/code> de React. A continuaci\u00f3n, creamos una variable de estado llamada <strong>name<\/strong> y una funci\u00f3n \u2014 <strong>setName<\/strong>\u00a0\u2014 que se utilizar\u00e1 para actualizar el valor de la variable <strong>name<\/strong>. El valor inicial de la variable name se almacena en el Hook <code>useState<\/code> como \u00abJohn\u00bb.<\/p>\n<p>A continuaci\u00f3n, creamos una funci\u00f3n llamada <strong>changeName<\/strong>, que utiliza la funci\u00f3n <strong>setName<\/strong> para actualizar el valor de la variable <strong>name<\/strong>.<\/p>\n<p>En nuestro marcado, una vez que se hace clic en el bot\u00f3n, \u00abJohn\u00bb se cambia por \u00abJames\u00bb.<\/p>\n<p>En la siguiente secci\u00f3n, veremos c\u00f3mo utilizar otro hook en React.<\/p>\n<h3>Trabajar con Hooks en React<\/h3>\n<p>En la \u00faltima secci\u00f3n, vimos c\u00f3mo gestionar el estado de nuestra aplicaci\u00f3n utilizando el hook <code>useStatet<\/code>. En esta secci\u00f3n, veremos c\u00f3mo utilizar el hook <code>useEffect<\/code>.<\/p>\n<p>El Hook <code>useEffect<\/code> realiza un efecto cada vez que se produce un cambio en un estado. Por defecto, este Hook se ejecuta en la primera renderizaci\u00f3n y cada vez que se actualiza el estado, pero podemos configurar y adjuntar un efecto a una variable de estado respectiva.<\/p>\n<p>Veamos algunos ejemplos:<\/p>\n<pre><code class=\"language-js\">import { useState, useEffect } from \"react\";\nfunction App() {\n    const [day, setDay] = useState(1);\n    useEffect(() =&gt; {\n        console.log(`You are in day ${day} of the year`);\n    });\n    return (\n        &lt;div&gt;\n        &lt;button onClick={() =&gt; setDay(day + 1)}&gt;Click to increase day&lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Lo primero que hicimos aqu\u00ed fue importar el Hook <code>useEffect<\/code>.<\/p>\n<p>Cada vez que hacemos clic en el bot\u00f3n, la variable <strong>name<\/strong> se incrementa en uno, este cambio en el valor de <strong>name<\/strong> hace que el Hook <code>useEffect<\/code> registre un mensaje en la consola \u2014 esto ocurre cada vez que la variable <strong>name<\/strong> cambia.<\/p>\n<p>En la siguiente secci\u00f3n, hablaremos de los Props y del flujo de datos entre componentes.<\/p>\n<h3>Trabajar con Props en React<\/h3>\n<p>Los Props nos permiten pasar datos de un componente a otro. Esto hace que el flujo de datos en nuestra aplicaci\u00f3n sea din\u00e1mico y mantenible. Props es la abreviatura de propiedades.<\/p>\n<p>Veamos un ejemplo de c\u00f3mo podemos utilizar Props.<\/p>\n<p>Este es el aspecto de nuestro archivo <strong>App.js<\/strong>:<\/p>\n<pre><code class=\"language-js\">function App() {\n    return (\n        &lt;div&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Creamos otro componente llamado <strong>Bio.js<\/strong> que tiene el siguiente aspecto:<\/p>\n<pre><code class=\"language-js\">function Bio() {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is John&lt;\/p&gt;\n        &lt;p&gt;I am a JavaScript developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default Bio;<\/code><\/pre>\n<p>A continuaci\u00f3n, importaremos el componente <strong>Bio<\/strong> a nuestro componente <strong>App<\/strong> de la siguiente manera<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>En la primera l\u00ednea importamos el componente <strong>Bio<\/strong>. A continuaci\u00f3n, colocamos el componente entre las etiquetas <code>div<\/code> en nuestro componente <strong>App<\/strong>. Cuando veas esto en el navegador, ver\u00e1s el c\u00f3digo que hemos creado en el componente <strong>Bio<\/strong> que se est\u00e1 mostrando.<\/p>\n<p>Ahora entiendes c\u00f3mo el c\u00f3digo puede ser reutilizable en React. Pero este c\u00f3digo es est\u00e1tico; ser\u00e1 el mismo en cualquier componente en el que se utilice. Esto no ser\u00e1 eficiente en los casos en los que queramos utilizar el mismo componente pero con diferente informaci\u00f3n.<\/p>\n<p>Arreglemos eso usando Props.<\/p>\n<p>En el componente <strong>Bio.js<\/strong>, haz lo siguiente<\/p>\n<pre><code class=\"language-js\">function Bio({name, language}) {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is { name }&lt;\/p&gt;\n        &lt;p&gt;I am a { language } developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n\n}\nexport default Bio;<\/code><\/pre>\n<p>Primero desestructuramos y pasamos <code>name<\/code> y <code>language<\/code> como par\u00e1metros. A continuaci\u00f3n, utilizamos estos par\u00e1metros de forma din\u00e1mica en nuestro marcado.<\/p>\n<p>Exportamos el componente en la \u00faltima l\u00ednea de c\u00f3digo: <code> export default Bio;<\/code> para poder importarlo en cualquier otro componente que requiera su l\u00f3gica.<\/p>\n<p>Por el momento, no podemos ver ning\u00fan valor que se muestre. Lo haremos en el componente <strong>App<\/strong>; he aqu\u00ed c\u00f3mo:<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio name=\"James\" language=\"Python\"\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Hemos a\u00f1adido atributos a nuestra etiqueta <strong>Bio<\/strong> que se corresponden con los props que hemos creado antes. Cualquier valor que pasemos en esos atributos se mostrar\u00e1 en el navegador. Esto es importante para los componentes que se utilizar\u00e1n en varios componentes pero que requieren sus propios datos diferentes.<\/p>\n<h2>D\u00f3nde Aprender M\u00e1s<\/h2>\n<p>Este tutorial te ha dado los conocimientos fundamentales necesarios para empezar a construir aplicaciones web con React, pero no es todo lo que hay que saber sobre React. Todav\u00eda hay otras funcionalidades necesarias para construir una aplicaci\u00f3n eficiente con React, como el enrutamiento en aplicaciones que tienen m\u00e1s de una p\u00e1gina y la gesti\u00f3n de estado \u00fanico utilizando herramientas como Redux.<\/p>\n<p>El mejor lugar para empezar a explorar m\u00e1s sobre React es la <a href=\"https:\/\/reactjs.org\/\">documentaci\u00f3n de React<\/a>. Tambi\u00e9n puedes consultar la <a href=\"https:\/\/beta.reactjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">documentaci\u00f3n de la beta<\/a> que se est\u00e1 reescribiendo con Hooks.<br \/>\n<\/p>\n<h2>Resumen<\/h2>\n<p>React como librer\u00eda frontend ha seguido creciendo masivamente en comparaci\u00f3n con otras <a href=\"https:\/\/kinsta.com\/es\/blog\/angular-vs-react\/\" rel=\"noopener\">librer\u00edas\/frameworks<\/a> en la comunidad de desarrolladores y no muestra signos de detenerse. Puedes encontrar React en la hoja de ruta de cualquier desarrollador web moderno.<\/p>\n<p>Con la adopci\u00f3n actual de la tecnolog\u00eda web3 por parte de cada vez m\u00e1s desarrolladores, React ha seguido siendo la herramienta favorita para construir el frontend de las aplicaciones descentralizadas (DApps).<\/p>\n<p>Puedes construir una gran variedad de aplicaciones con React, desde simples aplicaciones web de listas de tareas hasta mercados, paneles de control, etc.<\/p>\n<p>React puede utilizarse con muchas tecnolog\u00edas como Bootstrap, <a href=\"https:\/\/kinsta.com\/es\/blog\/tailwind-css\/\">Tailwind CSS<\/a>, Axios, Redux, Firebase, y muchas m\u00e1s. Tambi\u00e9n podemos utilizar React con Node.js y otros <a href=\"https:\/\/kinsta.com\/es\/blog\/mejor-lenguaje-de-programacion-para-aprender\/\" rel=\"noopener\">lenguajes<\/a> de backend para construir <a href=\"https:\/\/kinsta.com\/es\/blog\/backend-vs-frontend\/\" rel=\"noopener\">aplicaciones full-stack<\/a> y aplicaciones web que se ejecuten a la velocidad del rayo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La industria del desarrollo web ha experimentado un crecimiento constante en los \u00faltimos a\u00f1os; y a medida que este crecimiento contin\u00faa, surgen constantemente nuevas tecnolog\u00edas para &#8230;<\/p>\n","protected":false},"author":240,"featured_media":56183,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[1042,867,805,1043,910],"topic":[1296,1321],"class_list":["post-53864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-frontend-development","tag-javascript","tag-javascript-libraries","tag-react","tag-react-js","topic-frameworks-javascript","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript<\/title>\n<meta name=\"description\" content=\"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript\" \/>\n<meta property=\"og:description\" content=\"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-05T09:53:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:32:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ihechikara Abba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript\",\"datePublished\":\"2022-07-05T09:53:37+00:00\",\"dateModified\":\"2025-10-01T19:32:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\"},\"wordCount\":3237,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\",\"keywords\":[\"frontend development\",\"JavaScript\",\"JavaScript Libraries\",\"React\",\"React.js\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\",\"name\":\"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\",\"datePublished\":\"2022-07-05T09:53:37+00:00\",\"dateModified\":\"2025-10-01T19:32:15+00:00\",\"description\":\"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png\",\"width\":1460,\"height\":730,\"caption\":\"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"caption\":\"Ihechikara Abba\"},\"description\":\"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript","description":"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript","og_description":"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.","og_url":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2022-07-05T09:53:37+00:00","article_modified_time":"2025-10-01T19:32:15+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","twitter_creator":"@Kinsta_ES","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Ihechikara Abba","Tiempo de lectura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript","datePublished":"2022-07-05T09:53:37+00:00","dateModified":"2025-10-01T19:32:15+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/"},"wordCount":3237,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","keywords":["frontend development","JavaScript","JavaScript Libraries","React","React.js"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/","url":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/","name":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","datePublished":"2022-07-05T09:53:37+00:00","dateModified":"2025-10-01T19:32:15+00:00","description":"React es una librer\u00eda JavaScript de c\u00f3digo abierto, basada en componentes, para construir interfaces de usuario r\u00e1pidas y din\u00e1micas. Te explicamos c\u00f3mo empezar.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/que-es-react-js.png","width":1460,"height":730,"caption":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"React","item":"https:\/\/kinsta.com\/es\/secciones\/react\/"},{"@type":"ListItem","position":3,"name":"\u00bfQu\u00e9 es React.js? Un Vistazo a la Popular Biblioteca de JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","caption":"Ihechikara Abba"},"description":"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.","url":"https:\/\/kinsta.com\/es\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/53864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=53864"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/53864\/revisions"}],"predecessor-version":[{"id":56187,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/53864\/revisions\/56187"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/translations\/jp"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/53864\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/56183"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=53864"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=53864"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=53864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}