{"id":48920,"date":"2024-08-28T07:00:00","date_gmt":"2024-08-28T14:00:00","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=48920"},"modified":"2025-01-16T16:07:41","modified_gmt":"2025-01-17T00:07:41","slug":"componentes-react-server","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/","title":{"rendered":"Componentes de React Server: El Futuro del Desarrollo con React"},"content":{"rendered":"\n<p>React ha sido una potencia para construir aplicaciones web durante los \u00faltimos <a href=\"https:\/\/vercel.com\/blog\/10-years-of-react\">diez a\u00f1os<\/a>.<\/p>\n\n\n\n<p>Todos hemos visto c\u00f3mo ha evolucionado, desde esos pesados componentes de clase hasta la elegancia de los hooks.<\/p>\n\n\n\n<p>\u00bfPero Componentes de Servidor en React (RSCs)?<\/p>\n\n\n\n<p>No creemos que nadie haya anticipado un cambio tan dram\u00e1tico en la forma en que React funciona.<\/p>\n\n\n\n<p>Entonces, \u00bfqu\u00e9 son exactamente los Componentes de Servidor en React? \u00bfC\u00f3mo funcionan? \u00bfY qu\u00e9 hacen de manera diferente que React no pod\u00eda hacer ya?<\/p>\n\n\n\n<p>Para responder a todas estas preguntas, repasaremos r\u00e1pidamente los fundamentos. Si necesitas refrescar la memoria, echa un vistazo a esta <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/como-aprender-react-rapido\/\">gu\u00eda sobre c\u00f3mo aprender React como principiante<\/a>.<\/p>\n\n\n\n<p>En este art\u00edculo, te explicaremos por qu\u00e9 necesit\u00e1bamos los Componentes de Servidor en React, c\u00f3mo funcionan y algunos de los principales beneficios de los RSCs.<\/p>\n\n\n\n<p>\u00a1Empecemos!&nbsp;<\/p>\n\n\n\n<h2 id=\"h-que-son-los-componentes-de-servidor-en-react\" class=\"wp-block-heading\">\u00bfQu\u00e9 son los Componentes de Servidor en React?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1024x768.jpg\" alt=\"El diagrama de \u00e1rbol de los componentes de React Server muestra la jerarqu\u00eda y d\u00f3nde se representan los diferentes tipos de componentes en la aplicaci\u00f3n.\" class=\"wp-image-48921 lazyload\" title=\"React Server Components Tree diagram\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1024x768.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-300x225.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-768x576.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1536x1152.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-600x450.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1200x900.jpg.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-730x548.jpg.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1460x1095.jpg.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-784x588.jpg.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-1568x1176.jpg.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server-877x658.jpg.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/01-Arbol-de-Componentes-de-React-Server.jpg.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><\/figure>\n\n\n\n<p>Piensa en los Componentes de Servidor en React como una nueva forma de construir aplicaciones React. En lugar de ejecutarse en el navegador como los componentes t\u00edpicos de React, los RSCs se ejecutan directamente en tu servidor.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;Creo que los RSCs est\u00e1n dise\u00f1ados para ser la &#8216;componentizaci\u00f3n&#8217; del back end, es decir, el equivalente en el back end de lo que <a href=\"https:\/\/single-spa.js.org\/docs\/ecosystem-react\/\">React de SPA<\/a> hizo para el front end. En teor\u00eda, podr\u00edan eliminar en gran medida la necesidad de cosas como REST y GraphQL, lo que llevar\u00eda a una integraci\u00f3n mucho m\u00e1s estrecha entre el servidor y el cliente, ya que un componente podr\u00eda atravesar toda la pila.&#8221; \u2014 <a href=\"https:\/\/www.reddit.com\/r\/reactjs\/comments\/1c9yuwj\/comment\/l0ov9jw\/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button\">ExternalBison54 en Reddit<\/a><\/p>\n\n\n<\/blockquote>\n\n\n\n<p>Dado que los RSCs se ejecutan directamente en el servidor, pueden acceder de manera eficiente a recursos de back end como bases de datos y <a href=\"https:\/\/help.dreamhost.com\/hc\/es\/articles\/217560167-Generalidades-de-la-interfaz-de-programaci%C3%B3n-de-aplicaciones-API\">APIs<\/a> sin necesidad de una capa adicional de obtenci\u00f3n de datos.<\/p>\n\n\n\n<p><strong>Pero, \u00bfpor qu\u00e9 necesit\u00e1bamos los RSCs de todos modos?<\/strong><\/p>\n\n\n\n<p>Para responder a esta pregunta, retrocedamos un poco.<\/p>\n\n\n\n<h2 id=\"h-react-tradicional-renderizado-del-lado-del-cliente-csr-nbsp\" class=\"wp-block-heading\">React Tradicional: Renderizado del Lado del Cliente (CSR)&nbsp;<\/h2>\n\n\n\n<p>React siempre ha sido una biblioteca de UI del lado del cliente.<\/p>\n\n\n\n<p>La idea central detr\u00e1s de React es dividir todo tu dise\u00f1o en unidades m\u00e1s peque\u00f1as e independientes que llamamos componentes. Estos componentes pueden gestionar sus propios datos privados (<strong>estado<\/strong>) y pasarse datos entre s\u00ed (<strong>props<\/strong>).<\/p>\n\n\n\n<p>Piensa en estos componentes como <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/aprender-javascript-rapido\/\">funciones de JavaScript<\/a> que se descargan y se ejecutan directamente en el navegador del usuario. Cuando alguien visita tu aplicaci\u00f3n, su navegador descarga todo el c\u00f3digo de los componentes, y React interviene para renderizar todo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1024x768.jpg\" alt=\"Diagrama de flujo: flujo de trabajo de representaci\u00f3n del lado del cliente, desde la solicitud del usuario hasta la carga de la p\u00e1gina, incluida la respuesta del servidor y el procesamiento del navegador.\" class=\"wp-image-48924 lazyload\" title=\"How client-side rendering works diagram\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1024x768.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-300x225.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-768x576.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1536x1152.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-600x450.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1200x900.jpg.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-730x548.jpg.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1460x1095.jpg.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-784x588.jpg.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-1568x1176.jpg.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_-877x658.jpg.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/02-\u00bfComo-funciona-la-renderizacion-del-lado-del-cliente_.jpg.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El navegador descarga el HTML, JavaScript, <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/propiedad-transformacion-css\/\">CSS<\/a> y otros recursos.\u00a0<\/li>\n\n\n\n<li>React analiza el <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/aprender-html\/\">HTML<\/a>, configura los oyentes de eventos para las interacciones del usuario y recupera cualquier dato necesario.\u00a0<\/li>\n\n\n\n<li>El sitio web se transforma en una aplicaci\u00f3n React completamente funcional ante tus ojos, y todo esto lo hace tu navegador y computadora.<\/li>\n\n\n<\/ul>\n\n\n\n<p><strong>Si bien este proceso funciona, tiene algunas desventajas:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tiempos de carga lentos:<\/strong> Los tiempos de carga pueden ser lentos, especialmente para aplicaciones complejas con muchos componentes, ya que el usuario tiene que esperar a que todo se descargue primero.<\/li>\n\n\n\n<li><strong>Malo para la <\/strong><a href=\"https:\/\/www.dreamhost.com\/blog\/es\/mejor-clasificacion-tacticas-seo\/\"><strong>optimizaci\u00f3n en motores de b\u00fasqueda (SEO)<\/strong><\/a><strong>:<\/strong> El HTML inicial a menudo es muy b\u00e1sico, apenas lo suficiente para descargar el JavaScript que luego renderiza el resto del c\u00f3digo. Esto dificulta que los motores de b\u00fasqueda comprendan de qu\u00e9 trata la p\u00e1gina.<\/li>\n\n\n\n<li><strong>Se vuelve m\u00e1s lento a medida que las aplicaciones crecen: <\/strong>El procesamiento del JavaScript del lado del cliente puede agotar los recursos, lo que lleva a una experiencia de usuario m\u00e1s \u00e1spera, especialmente a medida que agregas m\u00e1s funcionalidades.<\/li>\n\n\n<\/ul>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-la-siguiente-iteracion-renderizado-del-lado-del-servidor-ssr\" class=\"wp-block-heading\">La Siguiente Iteraci\u00f3n: Renderizado del Lado del Servidor (SSR)<\/h2>\n\n\n\n<p>Para abordar los problemas causados por el renderizado del lado del cliente, la comunidad de React adopt\u00f3 el Renderizado del Lado del Servidor (SSR, por sus siglas en ingl\u00e9s).<\/p>\n\n\n\n<p>Con SSR, el servidor se encarga de renderizar el c\u00f3digo a HTML antes de enviarlo.<\/p>\n\n\n\n<p>Este HTML completamente renderizado se transfiere luego a tu navegador o dispositivo m\u00f3vil, listo para ser visualizado, sin necesidad de compilar la aplicaci\u00f3n durante la ejecuci\u00f3n, como ocurrir\u00eda sin SSR.<\/p>\n\n\n\n<p><strong>As\u00ed es c\u00f3mo funciona SSR:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1024x768.jpg\" alt=\"Diagrama que muestra c\u00f3mo funciona la representaci\u00f3n del lado del servidor, con el navegador solicitando HTML al servidor y recibiendo una p\u00e1gina completamente renderizada.\" class=\"wp-image-48926 lazyload\" title=\"How server-side rendering works diagram\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1024x768.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-300x225.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-768x576.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1536x1152.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-600x450.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1200x900.jpg.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-730x548.jpg.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1460x1095.jpg.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-784x588.jpg.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-1568x1176.jpg.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_-877x658.jpg.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/03-\u00bfComo-funciona-la-renderizacion-del-lado-del-servidor_.jpg.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El servidor renderiza el HTML inicial para cada solicitud.<\/li>\n\n\n\n<li>El cliente recibe una estructura HTML completamente formada, lo que permite cargas de p\u00e1gina m\u00e1s r\u00e1pidas.<\/li>\n\n\n\n<li>Luego, el cliente descarga React y el c\u00f3digo de tu aplicaci\u00f3n, en un proceso llamado \u201chidrataci\u00f3n\u201d, que hace la p\u00e1gina interactiva.<\/li>\n\n\n<\/ul>\n\n\n\n<p>La estructura HTML renderizada en el servidor no tiene funcionalidad \u2014 a\u00fan.&nbsp;<\/p>\n\n\n\n<p>React agrega los oyentes de eventos, configura la gesti\u00f3n del estado interno y a\u00f1ade otras funcionalidades al HTML despu\u00e9s de haber sido descargado en tu dispositivo. Este proceso de agregar &#8220;vida&#8221; a la p\u00e1gina se conoce como hidrataci\u00f3n.<\/p>\n\n\n\n<p>\u00bfPor qu\u00e9 funciona tan bien SSR?<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tiempos de carga iniciales m\u00e1s r\u00e1pidos:<\/strong> Los usuarios ven el contenido casi instant\u00e1neamente porque el navegador recibe HTML completamente formado, eliminando el tiempo necesario para cargar y ejecutar JavaScript.<\/li>\n\n\n\n<li><strong>Mejor SEO:<\/strong> Los motores de b\u00fasqueda pueden rastrear e indexar f\u00e1cilmente el HTML renderizado en el servidor. Este acceso directo se traduce en una mejor optimizaci\u00f3n en motores de b\u00fasqueda para tu aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Rendimiento mejorado en dispositivos m\u00e1s lentos:<\/strong> SSR reduce la carga en el dispositivo del usuario. El servidor asume el trabajo, haciendo que tu aplicaci\u00f3n sea m\u00e1s accesible y tenga mejor rendimiento, incluso en conexiones m\u00e1s lentas.<\/li>\n\n\n<\/ol>\n\n\n\n<p>Sin embargo, SSR tambi\u00e9n caus\u00f3 una serie de problemas adicionales, lo que llev\u00f3 a la necesidad de una soluci\u00f3n a\u00fan mejor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tiempo hasta interactivo (TTI) lento:<\/strong> El renderizado del lado del servidor y la hidrataci\u00f3n retrasan la capacidad del usuario para ver e interactuar con la aplicaci\u00f3n hasta que todo el proceso est\u00e9 completo.<\/li>\n\n\n\n<li><strong>Carga del servidor:<\/strong> El servidor necesita hacer m\u00e1s trabajo, lo que ralentiza a\u00fan m\u00e1s los tiempos de respuesta para <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/como-contratar-un-desarrollador-web\/\">aplicaciones complejas<\/a>, especialmente cuando hay muchos usuarios simult\u00e1neamente.<\/li>\n\n\n\n<li><strong>Complejidad de configuraci\u00f3n: <\/strong>Configurar y mantener SSR puede ser m\u00e1s complejo, especialmente para aplicaciones grandes.<\/li>\n\n\n<\/ul>\n\n\n\n<h2 id=\"h-finalmente-los-componentes-de-servidor-en-react\" class=\"wp-block-heading\">Finalmente, los Componentes de Servidor en React<\/h2>\n\n\n\n<p>En diciembre de 2020, el equipo de React present\u00f3 los &#8220;<a href=\"https:\/\/react.dev\/blog\/2020\/12\/21\/data-fetching-with-react-server-components\">Componentes de Servidor en React de Tama\u00f1o Cero de Bundle<\/a>&#8221; o RSCs.<\/p>\n\n\n\n<p>Esto no solo cambi\u00f3 la forma en que pens\u00e1bamos en construir aplicaciones React, sino tambi\u00e9n c\u00f3mo funcionan las aplicaciones React detr\u00e1s de escena. Los RSCs resolvieron muchos problemas que ten\u00edamos con CSR y SSR.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cCon los RSCs, React se convierte en un marco completamente del lado del servidor y un marco completamente del lado del cliente, algo que nunca hab\u00edamos tenido antes. Y eso permite una integraci\u00f3n mucho m\u00e1s estrecha entre el c\u00f3digo del servidor y el cliente que antes no era posible&#8221;. \u2014 <a href=\"https:\/\/www.reddit.com\/r\/reactjs\/comments\/1c9yuwj\/comment\/l0ov9jw\/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button\">ExternalBison54 en Reddit<\/a><\/p>\n\n\n<\/blockquote>\n\n\n\n<p><strong>Veamos ahora los beneficios que los RSCs aportan:&nbsp;<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-tamano-de-bundle-cero\">1. Tama\u00f1o de Bundle Cero<\/h3>\n\n\n\n<p>Los RSCs se renderizan completamente en el servidor, eliminando la necesidad de enviar c\u00f3digo JavaScript al cliente. Esto resulta en:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tama\u00f1os de bundle de JavaScript dr\u00e1sticamente m\u00e1s peque\u00f1os.<\/li>\n\n\n\n<li>Cargas de p\u00e1gina m\u00e1s r\u00e1pidas, especialmente en redes m\u00e1s lentas.<\/li>\n\n\n\n<li>Rendimiento mejorado en dispositivos menos potentes.<\/li>\n\n\n<\/ul>\n\n\n\n<p>A diferencia del SSR, donde se env\u00eda todo el \u00e1rbol de componentes React al cliente para la hidrataci\u00f3n, los RSCs mantienen el c\u00f3digo exclusivo del servidor en el servidor. Esto lleva a esos bundles del lado del cliente significativamente m\u00e1s peque\u00f1os de los que hablamos, haciendo que tus aplicaciones sean m\u00e1s ligeras y receptivas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-acceso-directo-al-backend\">2. Acceso Directo al Backend<\/h3>\n\n\n\n<p>Los RSCs pueden interactuar directamente con bases de datos y sistemas de archivos sin requerir una capa de API.<\/p>\n\n\n\n<p>Como puedes ver en el c\u00f3digo a continuaci\u00f3n, la variable <strong>courses<\/strong> se obtiene directamente de la base de datos, y la interfaz de usuario imprime una lista del <strong>course.id<\/strong> y <strong>course.name<\/strong> de <strong>courses.map<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>async function CourseList() {<br>&nbsp; const db = await connectToDatabase();<br>&nbsp; const courses = await db.query(&#8216;SELECT * FROM courses&#8217;);<br><br>&nbsp; return (<br>&nbsp; &nbsp; &lt;<strong>ul<\/strong>&gt;<br>&nbsp; &nbsp; &nbsp; {courses.map(course =&gt; (<br>&nbsp; &nbsp; &nbsp; &nbsp; &lt;<strong>li<\/strong> key={course.id}&gt;{course.name}&lt;\/<strong>li<\/strong>&gt;<br>&nbsp; &nbsp; &nbsp; ))}<br>&nbsp; &nbsp; &lt;\/<strong>ul<\/strong>&gt;<br>&nbsp; );<br>}<br><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Esto es m\u00e1s sencillo en contraste con el SSR tradicional, donde tendr\u00edas que configurar rutas API separadas para obtener datos individuales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-division-automatica-de-codigo\">3. Divisi\u00f3n Autom\u00e1tica de C\u00f3digo<\/h3>\n\n\n\n<p>Con los RSCs, tambi\u00e9n obtienes una divisi\u00f3n de c\u00f3digo m\u00e1s granular y una mejor organizaci\u00f3n del c\u00f3digo.<\/p>\n\n\n\n<p>React mantiene el c\u00f3digo exclusivo del servidor en el servidor y asegura que nunca se env\u00ede al cliente. Los componentes del cliente se identifican autom\u00e1ticamente y se env\u00edan al cliente para la hidrataci\u00f3n.<\/p>\n\n\n\n<p>Y el bundle general se vuelve extremadamente optimizado, ya que el cliente ahora recibe exactamente lo que necesita para una aplicaci\u00f3n completamente funcional.<\/p>\n\n\n\n<p>Por otro lado, el SSR requiere una cuidadosa divisi\u00f3n manual del c\u00f3digo para optimizar el rendimiento de cada p\u00e1gina adicional.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-reduccion-del-efecto-cascada-y-renderizado-en-streaming-nbsp\">4. Reducci\u00f3n del Efecto Cascada y Renderizado en Streaming&nbsp;<\/h3>\n\n\n\n<p>Los Componentes de Servidor en React combinan el renderizado en streaming y la obtenci\u00f3n de datos en paralelo. Esta poderosa combinaci\u00f3n reduce significativamente el &#8220;efecto cascada&#8221; que se ve a menudo en el renderizado tradicional del lado del servidor.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-efecto-cascada\">Efecto Cascada<\/h4>\n\n\n\n<p>El &#8220;efecto cascada&#8221; ralentiza el desarrollo web. B\u00e1sicamente, obliga a que las operaciones se sigan unas a otras como si una cascada fluyera sobre una serie de rocas.<\/p>\n\n\n\n<p>Cada paso debe esperar a que el anterior termine. Esta &#8220;espera&#8221; es especialmente notable en la obtenci\u00f3n de datos. Una llamada API debe completarse antes de que comience la siguiente, lo que provoca que los tiempos de carga de la p\u00e1gina se ralenticen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"547\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/04-Efecto-Cascada-1024x547.jpg\" alt=\"La tabla de la pesta\u00f1a Red de Chrome muestra el efecto cascada de las solicitudes de red, mostrando varias llamadas API y sus tiempos.\" class=\"wp-image-48928 lazyload\" title=\"Waterfall effect table\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/04-Efecto-Cascada-1024x547.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/04-Efecto-Cascada-300x160.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/04-Efecto-Cascada-768x410.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/04-Efecto-Cascada-1536x820.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-600x320.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-1200x641.jpg.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-730x390.jpg.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-1460x779.jpg.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-784x418.jpg.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-1568x837.jpg.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada-877x468.jpg.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/04-Efecto-Cascada.jpg.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/547;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-renderizado-en-streaming\">Renderizado en Streaming<\/h4>\n\n\n\n<p>El renderizado en streaming ofrece una soluci\u00f3n. En lugar de esperar a que toda la p\u00e1gina se renderice en el servidor, el servidor puede enviar partes de la interfaz de usuario al cliente tan pronto como est\u00e9n listas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"721\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1024x721.jpg\" alt=\"El diagrama muestra la representaci\u00f3n del servidor de streaming: solicitudes de red y cronograma de ejecuci\u00f3n de JavaScript, incluidos los marcadores FCP y TTI.\" class=\"wp-image-48930 lazyload\" title=\"Streaming Server Rendering (SSR) diagram\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1024x721.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-300x211.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-768x541.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1536x1082.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-600x423.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1200x845.jpg.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-730x514.jpg.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1460x1028.jpg.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-784x552.jpg.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-1568x1104.jpg.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming-877x618.jpg.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2024\/08\/05-Renderizacion-del-Servidor-Streaming.jpg.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/721;\" \/><\/figure>\n\n\n\n<p>Los Componentes de Servidor en React hacen que el renderizado y la obtenci\u00f3n de datos sean mucho m\u00e1s fluidos. Crean m\u00faltiples componentes del servidor que funcionan en paralelo, evitando este efecto cascada.<\/p>\n\n\n\n<p>El servidor comienza a enviar HTML al cliente en cuanto cualquier parte de la interfaz de usuario est\u00e1 lista.<\/p>\n\n\n\n<p><strong>Entonces, en comparaci\u00f3n con el renderizado del lado del servidor, los RSCs:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Permiten que cada componente obtenga sus datos de manera independiente y en paralelo.<\/li>\n\n\n\n<li>El servidor puede transmitir un componente tan pronto como sus datos est\u00e9n listos, sin esperar a que otros componentes se pongan al d\u00eda.<\/li>\n\n\n\n<li>Los usuarios ven c\u00f3mo el contenido se carga uno tras otro, mejorando su percepci\u00f3n del rendimiento.<\/li>\n\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-interaccion-suave-con-componentes-del-cliente\">5. Interacci\u00f3n Suave con Componentes del Cliente<\/h3>\n\n\n\n<p>Ahora, el uso de RSCs no implica necesariamente que debas omitir el uso de componentes del lado del cliente.<\/p>\n\n\n\n<p>Ambos tipos de componentes pueden coexistir y ayudarte a crear una experiencia de aplicaci\u00f3n global excelente.<\/p>\n\n\n\n<p>Piensa en una aplicaci\u00f3n de comercio electr\u00f3nico. Con SSR, toda la aplicaci\u00f3n necesita ser renderizada del lado del servidor.<\/p>\n\n\n\n<p>Sin embargo, con RSCs, puedes seleccionar qu\u00e9 componentes renderizar en el servidor y cu\u00e1les renderizar en el lado del cliente.<\/p>\n\n\n\n<p>Por ejemplo, podr\u00edas usar componentes del servidor para obtener datos de productos y renderizar la p\u00e1gina inicial de la lista de productos.<\/p>\n\n\n\n<p>Luego, los componentes del cliente pueden manejar interacciones de los usuarios como agregar art\u00edculos al carrito de compras o gestionar rese\u00f1as de productos.<\/p>\n\n\n\n<h2 id=\"h-deberias-anadir-la-implementacion-de-rsc-a-tu-hoja-de-ruta\" class=\"wp-block-heading\">\u00bfDeber\u00edas A\u00f1adir la Implementaci\u00f3n de RSC a Tu Hoja de Ruta?<\/h2>\n\n\n\n<p>Nuestro veredicto: Los RSCs agregan mucho valor al desarrollo con React.<\/p>\n\n\n\n<p>Resuelven algunos de los problemas m\u00e1s apremiantes de los enfoques SSR y CSR: rendimiento, obtenci\u00f3n de datos y experiencia del desarrollador. <a href=\"https:\/\/www.dreamhost.com\/blog\/es\/mejores-recursos-en-linea-aprender-codificar\/\">Para los desarrolladores que reci\u00e9n comienzan con la codificaci\u00f3n<\/a>, esto ha hecho la vida m\u00e1s f\u00e1cil.<\/p>\n\n\n\n<p>Ahora, \u00bfdeber\u00edas a\u00f1adir la implementaci\u00f3n de RSC a tu hoja de ruta? Tendremos que ir con la temida respuesta: &#8220;depende&#8221;.<\/p>\n\n\n\n<p>Tu aplicaci\u00f3n puede estar funcionando perfectamente sin RSCs. Y en este caso, a\u00f1adir otra capa de abstracci\u00f3n podr\u00eda no aportar mucho. Sin embargo, si planeas escalar y crees que los RSCs pueden mejorar la experiencia del usuario en tu aplicaci\u00f3n, intenta hacer peque\u00f1os cambios y escalar desde ah\u00ed.<\/p>\n\n\n\n<p>Y si necesitas un servidor potente para probar los RSCs, configura un <a href=\"https:\/\/www.dreamhost.com\/es\/hosting\/vps\/\">VPS de DreamHost<\/a>.<\/p>\n\n\n\n<p>DreamHost ofrece un servicio de VPS completamente gestionado, donde puedes desplegar incluso tus aplicaciones m\u00e1s exigentes sin preocuparte por el mantenimiento del servidor.<\/p>\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-vps-hosting-877x586.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-vps-hosting.webp 2x\"  alt=\"VPS Hosting\" \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/hosting\/vps\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>VPS Hosting<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tWhen You Expect Performance Get DreamHost VPS\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tBig or small, website or application &#8211; we have a VPS configuration for you.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            See More                    <\/a>\n\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Conoce los aspectos b\u00e1sicos de los componentes de React Server y su posible impacto en tus proyectos. Nuestra gu\u00eda explica cu\u00e1ndo y c\u00f3mo integrar de manera eficaz los componentes de React Server en tu flujo de trabajo de desarrollo.<\/p>\n","protected":false},"author":1058,"featured_media":48934,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"Aprende los conceptos b\u00e1sicos de los React Server Components y descubre cu\u00e1ndo a\u00f1adirlos a tu hoja de ruta con nuestra gu\u00eda.","toc_headlines":"[[\"h-que-son-los-componentes-de-servidor-en-react\",\"\u00bfQu\u00e9 son los Componentes de Servidor en React?\"],[\"h-react-tradicional-renderizado-del-lado-del-cliente-csr-nbsp\",\"React Tradicional: Renderizado del Lado del Cliente (CSR)\u00a0\"],[\"h-la-siguiente-iteracion-renderizado-del-lado-del-servidor-ssr\",\"La Siguiente Iteraci\u00f3n: Renderizado del Lado del Servidor (SSR)\"],[\"h-finalmente-los-componentes-de-servidor-en-react\",\"Finalmente, los Componentes de Servidor en React\"],[\"h-deberias-anadir-la-implementacion-de-rsc-a-tu-hoja-de-ruta\",\"\u00bfDeber\u00edas A\u00f1adir la Implementaci\u00f3n de RSC a Tu Hoja de Ruta?\"]]","hide_toc":false,"footnotes":""},"categories":[11670],"tags":[],"class_list":["post-48920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charlas-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Componentes de React Server explicados - DreamHost<\/title>\n<meta name=\"description\" content=\"Aprende los conceptos b\u00e1sicos de los React Server Components y descubre cu\u00e1ndo a\u00f1adirlos a tu hoja de ruta con nuestra gu\u00eda.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo Entender los Componentes de React Server: Una Gu\u00eda Sencilla\" \/>\n<meta property=\"og:description\" content=\"Conoce los aspectos b\u00e1sicos de los componentes de React Server y su posible impacto en tus proyectos. Nuestra gu\u00eda explica cu\u00e1ndo y c\u00f3mo integrar de manera eficaz los componentes de React Server en tu flujo de trabajo de desarrollo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-28T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-17T00:07:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1220x628_OGIMAGE_React-Server-Components-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ian Hernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"C\u00f3mo Entender los Componentes de React Server: Una Gu\u00eda Sencilla\" \/>\n<meta name=\"twitter:description\" content=\"Conoce los aspectos b\u00e1sicos de los componentes de React Server y su posible impacto en tus proyectos. Nuestra gu\u00eda explica cu\u00e1ndo y c\u00f3mo integrar de manera eficaz los componentes de React Server en tu flujo de trabajo de desarrollo.\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian Hernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Componentes de React Server explicados - DreamHost","description":"Aprende los conceptos b\u00e1sicos de los React Server Components y descubre cu\u00e1ndo a\u00f1adirlos a tu hoja de ruta con nuestra gu\u00eda.","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:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/","og_locale":"en_US","og_type":"article","og_title":"C\u00f3mo Entender los Componentes de React Server: Una Gu\u00eda Sencilla","og_description":"Conoce los aspectos b\u00e1sicos de los componentes de React Server y su posible impacto en tus proyectos. Nuestra gu\u00eda explica cu\u00e1ndo y c\u00f3mo integrar de manera eficaz los componentes de React Server en tu flujo de trabajo de desarrollo.","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2024-08-28T14:00:00+00:00","article_modified_time":"2025-01-17T00:07:41+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1220x628_OGIMAGE_React-Server-Components-1.jpg","type":"image\/jpeg"}],"author":"Ian Hernandez","twitter_card":"summary_large_image","twitter_title":"C\u00f3mo Entender los Componentes de React Server: Una Gu\u00eda Sencilla","twitter_description":"Conoce los aspectos b\u00e1sicos de los componentes de React Server y su posible impacto en tus proyectos. Nuestra gu\u00eda explica cu\u00e1ndo y c\u00f3mo integrar de manera eficaz los componentes de React Server en tu flujo de trabajo de desarrollo.","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Ian Hernandez","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/"},"author":{"name":"Ian Hernandez","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96"},"headline":"Componentes de React Server: El Futuro del Desarrollo con React","datePublished":"2024-08-28T14:00:00+00:00","dateModified":"2025-01-17T00:07:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/"},"wordCount":2172,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1460x1095_BLOG-HERO_React-Server-Components.jpg","articleSection":["Charlas de Tecnolog\u00eda"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/","name":"Componentes de React Server explicados - DreamHost","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1460x1095_BLOG-HERO_React-Server-Components.jpg","datePublished":"2024-08-28T14:00:00+00:00","dateModified":"2025-01-17T00:07:41+00:00","description":"Aprende los conceptos b\u00e1sicos de los React Server Components y descubre cu\u00e1ndo a\u00f1adirlos a tu hoja de ruta con nuestra gu\u00eda.","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1460x1095_BLOG-HERO_React-Server-Components.jpg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/08\/1460x1095_BLOG-HERO_React-Server-Components.jpg","width":1460,"height":1095},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/componentes-react-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Componentes de React Server: El Futuro del Desarrollo con React"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96","name":"Ian Hernandez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","caption":"Ian Hernandez"},"description":"Ian is a Product Designer based in Los Angeles, California. He is responsible for driving brand and product design at DreamHost, developing and maintaining our internal design system, and writing frontend code when he can. In his free time, he enjoys walking his dog, learning history, and discovering new music online and irl. Connect with him on LinkedIn: https:\/\/www.linkedin.com\/in\/ianhernandez23\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/ianh\/"}]}},"lang":"es","translations":{"es":48920,"en":48940,"ru":50735,"pt":54931,"uk":54946,"de":54958,"pl":54981,"it":68387,"fr":70369,"nl":70399},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/48920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1058"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=48920"}],"version-history":[{"count":4,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/48920\/revisions"}],"predecessor-version":[{"id":63608,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/48920\/revisions\/63608"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/48934"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=48920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=48920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=48920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}