CursosEmpresasBlogLiveConfPrecios

Register

Clase 21 de 29 • Curso de React Router 5 y Redux

Clase anteriorSiguiente clase

Contenido del curso

Bienvenida al curso

  • 1
    Todo lo que aprenderás sobre React Router y Redux

    Todo lo que aprenderás sobre React Router y Redux

    01:30 min

¿Qué es React Router? y Aplicarlo en tus proyectos

  • 2
    ¿Qué es React Router y cómo instalarlo?

    ¿Qué es React Router y cómo instalarlo?

    02:54 min
  • 3
    Crear nuestro archivo de Rutas

    Crear nuestro archivo de Rutas

    07:33 min
  • 4
    Container: Login

    Container: Login

    10:29 min
  • 5
    Container: Register

    Container: Register

    06:28 min
  • 6
    Container: 404 Not Found

    Container: 404 Not Found

    06:43 min
  • 7
    Componente: Layout

    Componente: Layout

    05:10 min
  • 8
    Manejando enlaces y configuraciones

    Manejando enlaces y configuraciones

    06:33 min

¿Qué es Redux?

  • 9
    Qué es Redux

    Qué es Redux

    02:17 min
  • 10

    ¿Qué es Redux? Profundizando en la herramienta

    01:32 min
  • 11
    Instalación de Redux

    Instalación de Redux

    04:40 min
  • 12
    Creando el Store de Redux

    Creando el Store de Redux

    12:53 min

Aplicando Redux a nuestra aplicación

  • 13
    Creando los reducers

    Creando los reducers

    10:40 min
  • 14
    Finalizando reducers y eliminar favoritos

    Finalizando reducers y eliminar favoritos

    08:26 min
  • 15
    Debuggeando nuestro proyecto (agregando validaciones a nuestro componente card)

    Debuggeando nuestro proyecto (agregando validaciones a nuestro componente card)

    04:19 min
  • 16
    Crear Formulario de Login

    Crear Formulario de Login

    10:08 min
  • 17
    Formulario de Login con Redux

    Formulario de Login con Redux

    06:28 min
  • 18
    Creando un Servicio para Gravatar

    Creando un Servicio para Gravatar

    05:28 min
  • 19
    Uso de gravatar en nuestro proyecto

    Uso de gravatar en nuestro proyecto

    07:16 min
  • 20
    Validación para LogIn LogOut

    Validación para LogIn LogOut

    09:15 min
  • 21
    Register

    Register

    Viendo ahora
  • 22
    Register con Redux

    Register con Redux

    04:17 min
  • 23
    Vista general del player

    Vista general del player

    05:26 min
  • 24
    Arreglando la funcionalidad del player

    Arreglando la funcionalidad del player

    06:55 min
  • 25
    Terminando de detallar nuestro player

    Terminando de detallar nuestro player

    13:50 min
  • 26
    Validaciones

    Validaciones

    10:35 min
  • 27
    Validaciones de UI

    Validaciones de UI

    07:04 min
  • 28
    Debug con Redux Devtools

    Debug con Redux Devtools

    05:57 min

Cierre del curso

  • 29
    Cierre del Proyecto

    Cierre del Proyecto

    00:39 min
  • Tomar el examen del curso
    • Alejandro González Reyes

      Alejandro González Reyes

      student•
      hace 6 años

      Aprovechando al máximo mis últimos meses en Platzi

        Wilson Marino Pablo Mendez

        Wilson Marino Pablo Mendez

        student•
        hace 6 años

        Y yo mis últimos días

        Daniel Hernández

        Daniel Hernández

        student•
        hace 6 años

        y yo mi ultimo sueldo jaja

      Salvador Galliano

      Salvador Galliano

      student•
      hace 5 años
      route by react.png
        Esteban Casallas

        Esteban Casallas

        student•
        hace 5 años

        q gran aporte es info muy buena !

        Andrés Felipe Eslava Zuluaga

        Andrés Felipe Eslava Zuluaga

        student•
        hace 5 años

        Hace falta camino! Gracias por el aporte :D

      Jorge Ossa

      Jorge Ossa

      student•
      hace 5 años

      En esta parte a mi no me funciono a la primera, revisando el código todo estaba como lo habia indicado el profesor pero hay un detalle que no se si solo es mi caso, pero el botón no tenia bien asignado el type, se lo cambie a type="submit" y me funcionó.

        Platzi Team

        Platzi Team

        student•
        hace 5 años

        Igualmente compañero, me paso lo mismo, gracias por tu aporte

        Henry Caicedo Velasco

        Henry Caicedo Velasco

        student•
        hace 5 años

        BUen, punto.

      Gerardo Nava Pereda

      Gerardo Nava Pereda

      student•
      hace 6 años

      Como sugerencia, yo prefiero usar Formik con Yup para formularios, y ya si es necesario mando un formValues a redux ...

        Alexander Nova Arevalo

        Alexander Nova Arevalo

        student•
        hace 6 años

        No sabia que existia esto, buen aporte

        Victor Leon

        Victor Leon

        student•
        hace 5 años

        efectivamente,. las validaciones y manejo de formulario en formik es muy superior a redux form y que react availiaty

      Migrant Cyborg

      Migrant Cyborg

      student•
      hace 5 años

      Definitivamente si hay algo a lo que no le encuentro sentido es a los return implícitos. Llamenme aburrido y hasta Calamardo, pero en definitiva es una "decoración" que no aporta en nada y me dà la sensaciòn que puede complicar màs a las personas novatas que venimos atrás que servir para algo. Se tenìa que decir y se dijo.

        César Palma

        César Palma

        student•
        hace 5 años

        muy cierto, es un decorado que solo deberia enseñarse en extras. causa mas confusion cuando se está aprendien algo nuevo

      Jose Colmenares

      Jose Colmenares

      student•
      hace 6 años

      El procedimiento que se muestra aquí es muy similar (sino idéntico) al que sehace en la sección de Login (Clase 17 de este mismo curso)

      Elvis Saavedra

      Elvis Saavedra

      student•
      hace 5 años

      propuesta para el handleInput

      const handleInput = (event) => { const { name, value } = event.target; setValues({ ...formRegister, [name]: value, }); };
      Guillermo Vara De Gante

      Guillermo Vara De Gante

      student•
      hace 6 años

      Para evitar estar formateando el código y que se siga viendo bien, pueden usar la extensión de VScode de 'Prettier' y ya les deja bien indentado y entendible el código

        Ginnio Sarabia

        Ginnio Sarabia

        student•
        hace 6 años

        yo uso eslint fix en consola

      Ivan Andres Diaz Lopez

      Ivan Andres Diaz Lopez

      student•
      hace 5 años

      en Visual Studio Code, para que puede verse el codigo sin necesidad del scroll Horizontal. utilizas la tecla "ALT" y la tecla "Z" al tiempo, y se ajusta el las lineas de codigo largas a reglones.

        Khevin Efraín

        Khevin Efraín

        student•
        hace 5 años

        que buen tip

      Nicolas Esteban Manograsso

      Nicolas Esteban Manograsso

      student•
      hace 6 años

      Me llama la atencion que a mi no se me rompieron los estilos cuando pase todo a componentes :thinking:

      Jhonatan David Ibarra Lavado

      Jhonatan David Ibarra Lavado

      student•
      hace 6 años

      estupendo, repasando la clase :D

      Wilmar Yoan Malaver Malaver

      Wilmar Yoan Malaver Malaver

      student•
      hace 5 años

      a caray ya lo habíamos visto en una clase anterior verdad. esta simplemente genial este curso.

      Asis Melgarejo Lopez

      Asis Melgarejo Lopez

      student•
      hace 6 años

      Nuestra aplicación ya tiene un estado inicial, y podemos extraer la información que queremos de este especie de base datos, sin embargo, para traer nuevo datos estamos utilizando los *react--hooks...

        Vicente Daniel Zurita Salas

        Vicente Daniel Zurita Salas

        student•
        hace 6 años

        A que te refieres con "Traer" ?

        Joel Bello

        Joel Bello

        student•
        hace 6 años

        Te refieres al import que está en el Home de useInitialState? ya se puede eliminar.

      Enmanuel Castillo

      Enmanuel Castillo

      student•
      hace 5 años

      El

      event.preventDefault()

      Previene que el elemento sea usado de manera predeterminada en la funcionalidad de HTML

      Laura Camila Pregonero

      Laura Camila Pregonero

      student•
      hace 5 años

      Good Job! ......... ..........

      Christian Perez

      Christian Perez

      student•
      hace 6 años

      Son buenas practicas el uso de redux y hooks en el mismo proyecto?

        Favio Sauto

        Favio Sauto

        student•
        hace 6 años

        Todo depende, si es una aplicación grande, como por ejemplo: Platzi sí es buena práctica usar ambos, piensa en redux como el contenedor y manejador global del estado de todos los estados que tu aplicación debe compartir, y React Hooks para aquellos componentes que tienen estados que ningún otro componente necesita.

        Luis Lira

        Luis Lira

        student•
        hace 6 años

        ¡Hola! :D

        Claro que se puede sin problemas, de hecho, no debemos cargar tampoco todo hacia Redux, sólo debemos agregar ahí los datos que necesitamos de manera global en la aplicación. Si tu componente necesita información que sólo usará ese componente en específico, lo mejor sería que uses un estado local con el hook de useState para esa situación.

        ¡Nunca pares de aprender! 💚

      Maria Elizabeth Minero Alvarenga

      Maria Elizabeth Minero Alvarenga

      student•
      hace 5 años

      super waooo

      Erick Fariñas

      Erick Fariñas

      student•
      hace 4 años

      Hasta el momento ha sido de los cursos que más me ha gustado, muy bien explicado, con lo aprendido con el login pude hacer el register sin ver las clases

      Miguel Angel Reyes Moreno

      Miguel Angel Reyes Moreno

      student•
      hace 5 años

      Vamos a usar hooks para los inputs.

      Register.jsx:

      import React, { useState } from 'react'; import { Link } from 'react-router-dom'; import '../assets/styles/components/Register.scss'; const Register = () => { const [form, setValues] = useState({ email: '', name: '', password: '', }); const handleInput = (event) => { setValues({ ...form, [event.target.name]: event.target.value, }); }; const handleSubmit = (event) => { event.preventDefault(); console.log(form); }; return ( <section className='register'> <section className='register__container'> <h3>Regístrate</h3> <form className='register__container--form' onSubmit={handleSubmit}> <input name='name' className='input' type='text' placeholder='Nombre' onChange={handleInput} /> <input name='email' className='input' type='text' placeholder='Correo' onChange={handleInput} /> <input name='password' className='input' type='password' placeholder='Contraseña' onChange={handleInput} /> <button className='button' type='submit'>Registrarme</button> </form> <Link to='/login'>Iniciar sesión</Link> </section> </section> ); }; export default Register;
      Beto Martinez

      Beto Martinez

      student•
      hace 6 años

      Esta funcion que hacemos aqui, es como si usaramos NgModel de Angular

      const handleInput = (event) => { setValues({ ...form, [event.target.name]: event.target.value, }); };```
        Alexander Nova Arevalo

        Alexander Nova Arevalo

        student•
        hace 6 años

        Esta funcion rellena el objeto form con cada input que tenga la funcion handleInput, El name de cada input,es el nombre que queda en el objeto. El ngModel asocia un objeto ya creado

    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