CursosEmpresasBlogLiveConfPrecios

Cambios en React 18: ReactDOM.createRoot

Clase 3 de 23 • Curso de React 17

Contenido del curso

Primeros pasos con React

  • 1
    Cómo aprender React.js

    Cómo aprender React.js

    08:20 min
  • 2
    Cuándo usar React.js

    Cuándo usar React.js

    13:27 min
  • 3
    Cambios en React 18: ReactDOM.createRoot

    Cambios en React 18: ReactDOM.createRoot

    Viendo ahora
  • 4
    Instalación con Create React App

    Instalación con Create React App

    19:13 min

Fundamentos de React: maquetación

  • 5
    Componentes de TODO Machine

    Componentes de TODO Machine

    20:31 min
  • 6
    JSX: componentes vs. elementos (y props vs. atributos)

    JSX: componentes vs. elementos (y props vs. atributos)

    16:15 min
  • 7
    CSS en React

    CSS en React

    17:54 min

Fundamentos de React: interacción

  • 8
    Manejo de eventos

    Manejo de eventos

    14:41 min
  • 9
    Manejo del estado

    Manejo del estado

    12:50 min
  • 10
    Contando y buscando TODOs

    Contando y buscando TODOs

    21:16 min
  • 11
    Completando y eliminando TODOs

    Completando y eliminando TODOs

    13:34 min

Fundamentos de React: escalabilidad

  • 12
    Organización de archivos y carpetas

    Organización de archivos y carpetas

    16:08 min
  • 13
    Persistencia de datos con Local Storage

    Persistencia de datos con Local Storage

    16:17 min
  • 14
    Custom Hook para Local Storage

    Custom Hook para Local Storage

    12:45 min
  • 15
    Manejo de efectos

    Manejo de efectos

    20:37 min
  • 16
    React Context: estado compartido

    React Context: estado compartido

    16:48 min
  • 17
    useContext

    useContext

    07:10 min

Modales y formularios

  • 18
    Portales: teletransportación de componentes

    Portales: teletransportación de componentes

    15:32 min
  • 19
    Formulario para crear TODOs

    Formulario para crear TODOs

    19:57 min

Retos

  • 20
    Reto: loading skeletons

    Reto: loading skeletons

    02:43 min
  • 21
    Reto: icon component

    Reto: icon component

    03:51 min

Próximos pasos

  • 22
    Deploy con GitHub Pages

    Deploy con GitHub Pages

    09:49 min
  • 23
    Toma el Curso de React.js: Patrones de Render y Composición

    Toma el Curso de React.js: Patrones de Render y Composición

    01:37 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Hello, Platzinauta!

      React 18 fue publicado el 29 de marzo de 2022. Sus cambios más importantes van a ayudar muchísimo para optimizar el render e hidratación de aplicaciones o componentes de React en el DOM. El más importante, crucial y significativo fue la migración de ReactDOM.render a ReactDOM.createRoot.

      En la próxima clase vamos a usar Create React App, una de las herramientas más populares para instalar un entorno de desarrollo con React.js de forma muy rápida. No hay absolutamente ningún problema si decides usar React 18. Solo ten en consideración los cambios para hacer el render principal de tu aplicación.

      Migración de ReactDOM.render a ReactDOM.createRoot

      Antes de React 18:

      const root = document.getElementById('root'); ReactDOM.render(e(LikeButton), root);

      Desde React 18:

      const rootElement = document.getElementById('root'); const root = ReactDom.createRoot(rootElement); root.render(e(LikeButton));

      Antes de React 18:

      ReactDOM.render( <React.StrictMode> <App /> </React.StrictMode>, document.getElementById('root') );

      Desde React 18:

      const rootElement = document.getElementById('root'); const root = ReactDom.createRoot(rootElement); root.render( <React.StrictMode> <App /> </React.StrictMode> );

      Actualizaciones de React

      En los siguientes recursos puedes estudiar más a detalle los cambios de React y ReactDOM en su versión 18:

      • React Conf 2021: anuncios, cambios y el futuro de React.js
      • CHANGELOG de React
      • React 18 is now available on npm!
      • How to Upgrade to React 18

      Además, si quieres conocer un poco más a fondo la filosofía y principios de diseño de React para elegir cómo hacer sus actualizaciones, te recomiendo tomar la siguiente clase:

      • Filosofía y principios de diseño en React

      :warning: Si apenas estás empezando tu ruta de aprendizaje con React.js, no tienes que preocuparte por nada de esto. Todas las herramientas se actualizan constantemente, igual que los cursos de Platzi. Esa es la norma y el día a día en el mundo de la tecnología. Más adelante comprenderás la importancia y lo divertido de todas estas actualizaciones.

      ¡Ahora sí! ¡Te espero en la siguiente clase para crear nuestra primera aplicación con React.js! :muscle:

      Obtén respuestas inmediatasProfundiza lo que acabas de ver

      Comentarios

        Franklin Peñafiel

        Franklin Peñafiel

        student•
        hace 4 años

        Yo pasaré de largo esta clase y volveré cuando acabe el curso. Hay que tener en cuenta que al ser algo nuevo, es más seguro que aún no sea usado por las empresas, en espacial al buscar trabajo. A mi punto de vista es mejor ir por lo que ya está fijo y cuando se tiene los conocimientos necesarios se puede ir actualizando más rápido

          Juan Castro

          Juan Castro

          teacher•
          hace 4 años

          Me gusta mucho tu plan

          Carlos Dugarte

          Carlos Dugarte

          student•
          hace 4 años

          A mi también me gusta así que me sumo al plan. Gracias!!

        Abel Cañas Estor

        Abel Cañas Estor

        student•
        hace 4 años

        A día de hoy en la versión 18:

        "react": "^18.0.0", "react-dom": "^18.0.0",

        La importación se hace desde: ...from 'react-dom/client';

        Quedando el index.js así:

        import * as ReactDOMClient from 'react-dom/client'; import App from './App'; const container = document.getElementById('root'); const root = ReactDOMClient.createRoot(container); root.render( <App /> );
        Randall Chacón Sarmiento

        Randall Chacón Sarmiento

        student•
        hace 4 años

        Me pasó que no me funcionaba el código del ejercicio "add react in one minute" y era a causa de que el código de esta clase esta mal escrito

        const root = ReactDom.createRoot(rootElement);

        Lo correcto es que DOM se mayúscula

        const root = ReactDOM.createRoot(rootElement);

        Algo tan simple y gaste un buen rato en darme cuenta

          Zina del Valle Marcano Córdova

          Zina del Valle Marcano Córdova

          student•
          hace 3 años

          gracias por este aporte!

          Yosabeth Rodríguez Navas

          Yosabeth Rodríguez Navas

          student•
          hace 3 años

          Gracias!

        Tomás André Peñaloza Avilés

        Tomás André Peñaloza Avilés

        student•
        hace 4 años

        Gracias por mantener el curso actualizado profe JuanDC!

        Federico Ivan Llano

        Federico Ivan Llano

        student•
        hace 4 años

        Que buen aporte Juan, vi en twitter que habia mucha gente que se alegraba por los nuevos cambios en la nueva version de react y me preguntaba como iba a ser en el momento de aprenderlo, cuando termine el curso voy a ver los links de las nuevas actualizaciones.

          Juan Castro

          Juan Castro

          teacher•
          hace 4 años

          :green_heart:

        Kimberly Vargas

        Kimberly Vargas

        student•
        hace 4 años

        Cambios en el index.js con la v18:

        carbon (6).png

        Sergio Ramirez

        Sergio Ramirez

        student•
        hace 4 años

        Gracias profe Juan David Castro por tomarte el tiempo de realizar estas actualizaciones.

        Pablo Cesar Acosta Paredes

        Pablo Cesar Acosta Paredes

        student•
        hace 3 años
        indexReact.png

        Para la gente que esta empezando este curso con la versión 18 de react es importante que lo único que cambia es la manera en como hace el render, luego la forma en como enviar las propiedades(props) sigue siendo de la misma manera !! Saludos

        Ivan Martinez

        Ivan Martinez

        student•
        hace 3 años

        Tomaré este curso para conocer las bases de React, sin embargo, hay cambios recientes en la librería!!!

        Orlando Díaz Torrealva

        Orlando Díaz Torrealva

        student•
        hace 4 años

        Una forma un poco más recortada y sin tener que crear dos variables para el root es de esta manera:

        createRoot(document.getElementById('root')) .render(<App />)
          Aldo Escobar

          Aldo Escobar

          student•
          hace 4 años

          Sí pero pierdes legibilidad.

        GUSTAVO GALVIS

        GUSTAVO GALVIS

        student•
        hace 4 años

        En GitHub encontramos el histórico de Releases:

        Mauricio Montoya Abadia

        Mauricio Montoya Abadia

        student•
        hace 4 años

        Qué debo de hacer para seguir trabajando con la versión 17.0.2?

          Juan Castro

          Juan Castro

          teacher•
          hace 4 años

          Con el comando npm install react@17.0.2 :wink:

        Jeisson Espinosa

        Jeisson Espinosa

        student•
        hace 3 años

        Información resumida de esta clase #EstudiantesDePlatzi

        • el 29 de Marzo del 2022 React 18 fue publicado

        • El cambio más importante fue la migración de ReactDom.render a ReactDom.CreateRoot

        • Todas estas tecnologías siempre se están actualizando y esto es bueno

          Jose Mauricio Hualpa lopez

          Jose Mauricio Hualpa lopez

          student•
          hace 3 años

          osaa :3

          Jeisson Espinosa

          Jeisson Espinosa

          student•
          hace 3 años

          Epaaa :)

        Gualberto Montiel

        Gualberto Montiel

        student•
        hace 3 años

        Cambios de React 18:

        MIgracion de ReactDOM.render a ReactDOM.createRoot

        Juan Pablo Lopez Ramirez

        Juan Pablo Lopez Ramirez

        student•
        hace 4 años

        tambien vi en un tutorial que usaban la siguiente sintaxis: ReactDom.createRoot(document.getElementById("root")).render(<React.StrictMode> <App /> </React.StrictMode>)

        Brayan Velandia

        Brayan Velandia

        student•
        hace 3 años

        Hago mi aporte a la fecha 09/05/2023 para que les funcione este codigo:
        const rootElement = document.getElementById('root'); const root = ReactDom.createRoot(rootElement); root.render(e(LikeButton));

        en la parte que dice ReactDom tienen que escribir el Dom en mayuscula quedando ReactDOM y el codigo quedaria:

        const rootElement = document.getElementById('root'); const root = ReactDOM.createRoot(rootElement); root.render(e(LikeButton));

        ahí les funciona ;)

        David Castro

        David Castro

        student•
        hace 3 años

        Me parece muy importante esta tercera clase-info de 'Cambios en React 18: ReactDOM.createRoot'. Bien hecho equipo!