CursosEmpresasBlogLiveConfPrecios

Styled Components

Clase 12 de 15 • Curso de Introducción a Librerías UI con React

Clase anteriorSiguiente clase

Contenido del curso

Introducción al curso

  • 1
    Bienvenida al curso

    Bienvenida al curso

    01:40 min
  • 2
    ¿Qué es UI?

    ¿Qué es UI?

    02:16 min
  • 3
    ¿Qué es una librería UI?

    ¿Qué es una librería UI?

    05:35 min
  • 4
    ¿Por qué una libreria UI?

    ¿Por qué una libreria UI?

    04:45 min

¿Por qué usar una librería UI?

  • 5
    Beneficios al usar una librería UI

    Beneficios al usar una librería UI

    03:20 min
  • 6
    Tiempo de Desarrollo

    Tiempo de Desarrollo

    05:08 min
  • 7
    Iteración del Proyecto

    Iteración del Proyecto

    04:33 min
  • 8
    Escalabilidad del Proyecto

    Escalabilidad del Proyecto

    04:34 min
  • 9
    Dinero

    Dinero

    03:15 min
  • 10
    Conclusión del modulo

    Conclusión del modulo

    02:29 min

Librerias UI

  • 11
    Tipos de librerias UI

    Tipos de librerias UI

    01:32 min
  • 12
    Styled Components

    Styled Components

    Viendo ahora
  • 13
    Bootstrap

    Bootstrap

    13:53 min
  • 14
    Material UI

    Material UI

    09:27 min

Despedida

  • 15
    Resumen del curso

    Resumen del curso

    04:46 min
Tomar examen
    Rodrigo Ramos Xochiteotzin

    Rodrigo Ramos Xochiteotzin

    student•
    hace 4 años

    Esta librería es buenísima y muy útil si la forma en que te gusta trabajar los componentes está basada en los SFC (single file components, algo que te será familiar si vienes de Vue.js). Esto significa que puedas plasmar en un sólo componente el modelo, la vista y el controlador, separados de acuerdo a su responsabilidad. Por ejemplo:

    import React from 'react' import styled from 'styled-components' const Wrapper = styled.div` width: 100vw; height: 100vh; background-color: red; ` const Component = (props) => { //logica, estado, etc return ( <Wrapper> {props.children} </Wrapper> ) }

    Creamos un elemento div y lo estilizamos, llamándolo Wrapper. Luego dentro del componente de React lo usamos para renderizar otros elementos o componentes adentro de él. Si ya tienes el componente creado y quieres pasarlo por la librería styled componentes, lo único que tienes que hacer es pasarlo como parámetro de styled, es decir, styled ahora se usa como función:

    import { MyComponent } from './MyComponent.jsx' const MyStyledComponent = styled(MyComponent)` //estilos css ` return ( <MyStyledComponent> </MyStyledComponent> )

    Te será muy útil para crear clases dinámicas que sean sensibles al estado del componente ya sea interno o pasado por las props del padre.

      Rodrigo Ramos Xochiteotzin

      Rodrigo Ramos Xochiteotzin

      student•
      hace 4 años

      Tip

      Esta librería te permite trabajar con una sintaxis parecida a un pre-procesador de CSS para poder anidar estilos de acuerdo al uso de pseudo-elementos u pseudo-clases usando el ampersand (&). "&" significa que te estas refiriendo a la instancia del componente estilizado

      const Ejemplo = styled.div` padding: 2rem; background: papayawhip; // cambio de color de fondo de acuerdo al hover &:hover { background: red; }

      Checa la documentación

      Victor Manuel Sarria Salinas

      Victor Manuel Sarria Salinas

      student•
      hace 4 años

      super completo like a este post.

    Orlando Manuel Mendoza Vargas

    Orlando Manuel Mendoza Vargas

    student•
    hace 3 años

    En mi humilde opinión, yo no veo a Styled Components como una "Librería UI", por el hecho de que esta no ofrece componentes UI a los desarrolladores para que los usen en sus proyectos. . En cambio esto se conoce como una forma de "CSS in JS" y lo que en realidad sí es, es una alternativa para los Precompiladores de CSS como lo son SASS, LESS y Stylus.

    Dario Turchi

    Dario Turchi

    student•
    hace 3 años

    me recuerda mucho a Luisito Comunica este profe

    Julian Franco

    Julian Franco

    student•
    hace 4 años

    hay algo que no me queda muy claro, los type o los onClick igual se los puedo dar al <Button/> ? y las props son las del componente padre si ?

      Daniel Rodrigo Valdivieso Merino

      Daniel Rodrigo Valdivieso Merino

      teacher•
      hace 4 años

      Hola Julián, gran pregunta. Ve a codesandbox pon este código e interactua con él.

      import { useState } from "react"; import styled from "styled-components"; const Button = styled.button` background: palevioletred; border-radius: 3px; border: none; color: white; `; export default function App() { const [count, setCount] = useState(0); return ( <div className="App"> <Button onClick={() => setCount(count + 1)}>{count}</Button> </div> ); }

      Te darás cuenta de que efectivamente podemos poveerle el evento onClick :)

      Ahora cuentame tú, ¿Qué pasa cuando interactuamos con un input y ponemos un type diferente? 👀

      Quedo pendiente a tu respuesta, saludos :)

      PlatziAbrazo 💚

      Julian Franco

      Julian Franco

      student•
      hace 4 años

      :O funciona de igual manera.

      <Button type="reset" onClick={() => setCount(0)}> reset </Button> <Button type="button" onClick={() => setCount(count + 1)}> {count} </Button>

      Hice esto, no habia entendido bien era que cuando uno pone el styled.button esta pasando la etiqueta html desde el styled. !!

      Gracias !

    Tomás Gálvez

    Tomás Gálvez

    student•
    hace 3 años

    Esta librería no brinda componentes listos, sino solo permite estilizar los componentes que ya tenemos creados nosotros.

    César Palma

    César Palma

    student•
    hace 3 años

    Las librerías CSS-in-JS nos proporcionan un nuevo enfoque para escribir CSS. Su objetivo es abordar las limitaciones de CSS, como la falta de funcionalidad dinámica, alcance y portabilidad. A pesar de sus ventajas, CSS-in-JS es una tecnología controvertida, ya que muchos desarrolladores preguntan si vale la pena complicar aún más el desarrollo front-end.

    https://webdesign.tutsplus.com/es/articles/an-introduction-to-css-in-js-examples-pros-and-cons--cms-33574

    Jahiker Rojas

    Jahiker Rojas

    student•
    hace 3 años

    Ahora que estoy aprendiendo React y he conocido styled-components, me ha gustado mucho, ya que nos permite anidar reglas, utilizar expresiones regulares de JS y cargar solo los estilos que necesitamos en el componente, lo cual es genial para la optimización del proyecto.

    florencia barbero

    florencia barbero

    student•
    hace 3 años

    Hola! SOy nueva en esto, que terminal recomiendan usar? hay algun curso mas basico que me enseñe react. Yo vengo desde html, css y javascript con visualstudio

      Daniel Rodrigo Valdivieso Merino

      Daniel Rodrigo Valdivieso Merino

      teacher•
      hace 3 años

      Yo utilizo la terminal de VSCode y me va suuuuuper bien :)

      Saludos Florencia y muchos éxitos en este maravilloso camino.

    Max Felipe Hess Alvarez

    Max Felipe Hess Alvarez

    student•
    hace 3 años

    Una duda, esta libreria solo puedes aplicar los estilos desde el componente padre y no desde el mismo componente?

    por ejemplo intente poner estilos desde un componente boton pero no me dejo, lo hice en el componente padre que es app y automaticamente me dejo, esto si es asi no seria mas perjudicial para la aplicacion tener tanto codigo en un documento?

      Daniel Rodrigo Valdivieso Merino

      Daniel Rodrigo Valdivieso Merino

      teacher•
      hace 3 años

      Hola Max, compartenos el código para ver como ayudarte pero en principio este debería dejar aplicar estilos a cualquier componente.

      Lo importante ahí es manejar buenas practicas en cuanto a la estandarización de como manejará tu equipo los archivos.

      Siempre es importante mantener estandares para facilitar la lectura del código en el futuro.

    Gilbert Ardila

    Gilbert Ardila

    student•
    hace 3 años

    viendo style-components me pregunto ¿no sería mejor usar una librería de estilos como tailwindcss para darle estilos al componente normal de html? o hay alguna diferencia real que nos provea esta librería

      Daniel Rodrigo Valdivieso Merino

      Daniel Rodrigo Valdivieso Merino

      teacher•
      hace 3 años

      La mejor herramienta siempre depende de las necesidades y de tu equipo, en mi equipo de trabajo por ejemplo, usamos taildwindcss, no por decisión mia. Cuando entré a trabajar allá ya lo utilizaban... nos va bien pero siempre y cuando se tengan claros los estandares del equipo.

      No siempre una herramienta como taildwindcss es la ultima palabra, hay momentos en los que se nos queda corta y nos toca escribir el css, en nuestro caso scss.

    Marco Antonio Alducin Garcia

    Marco Antonio Alducin Garcia

    student•
    hace 3 años

    A mi me parece que Styled Components es realmente la manera en que podemos usar CSS en React, y para no llenar con tanto código separarlo en un hook personalizado, aunque si lo viéramos de este modo, es sustituir los archivos propios de CSS a otros en JS. Yo si lo veo mas laborioso, pero quizas, pudiera no ser reutilizable para otros proyectos.

    Juan Camilo Lentino Villalba

    Juan Camilo Lentino Villalba

    student•
    hace 3 años

    Styled Components nos permite trabajar con el CSS sin que los estilos se pisen entre si, me parece una de sus mayores ventajas y resulta muy útil, evitando algo que en ocasiones puede ser tedioso, pero por otro lado, a la hora de leer el código, al tener componentes con sus estilos incorporados puede llegar a ser mas complicado, todo depende del desarrollador, el equipo y la forma de trabajar.

    Jassen Castillo

    Jassen Castillo

    student•
    hace 3 años

    es genial esta libreria

    Arnaldo Duran

    Arnaldo Duran

    student•
    hace 3 años

    styled-components dudo que este cerca de ser una solución final, la lectura del código se desnaturaliza, styled jsx soluciona un poco mejor este problema, rescatando conceptos de styled-components

    Alexander Arismendy

    Alexander Arismendy

    student•
    hace 3 años

    Claro que si

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