Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

65
Vistas
¿Cómo aplicar los mismos accesorios a múltiples componentes con estilo?

Estoy usando la biblioteca styled-components para extender los componentes de encabezado de la biblioteca Blueprintjs . El componente H6 actualmente se ve así:

 export const DH6 = styled(H6)` color: ${(props) => (props.white ? "white" : null)}; display: ${(props) => (props.flex ? "flex" : null)}; opacity: ${(props) => (props.opaque ? 0.7 : null)}; font-weight: ${(props) => (props.heavy ? 500 : 300)}; text-align: ${(props) => (props.center ? "center" : null)}; font-style: ${(props) => (props.italics ? "italic" : null)}; text-decoration: ${(props) => (props.underline ? "underline" : null)}; `;

Esto funciona bien. Ahora quiero aplicar los mismos accesorios de D1 a D5 . ¿Hay alguna manera de hacerlo en SECO, en lugar de hacer frente a los accesorios? Intenté asignar los accesorios a una variable sin éxito:

 const generalProps = { opacity: ${(props) => (props.opaque ? 0.7 : null)}, color: ${(props) => (props.white ? "white" : null)}, display: ${(props) => (props.flex ? "flex" : null)}, font-weight: ${(props) => (props.heavy ? 500 : 300)}, text-align: ${(props) => (props.center ? "center" : null)}, font-style: ${(props) => (props.italics ? "italic" : null)}, text-decoration: ${(props) => (props.underline ? "underline" : null)} } export const DH6 = styled(H6)` {...generalProps} `;

¿Hay alguna forma de hacer la asignación de accesorios a partir de variables en styled-components ?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como un ejemplo rápido se puede utilizar

 import styled, {css} from 'styled-components' const GlobalStyles = css` color: ${(props) => (props.white ? "white" : null)}; display: ${(props) => (props.flex ? "flex" : null)}; opacity: ${(props) => (props.opaque ? 0.7 : null)}; font-weight: ${(props) => (props.heavy ? 500 : 300)}; text-align: ${(props) => (props.center ? "center" : null)}; font-style: ${(props) => (props.italics ? "italic" : null)}; text-decoration: ${(props) => (props.underline ? "underline" : null)}; ` const StyledDiv = styled.div` ${GlobalStyles} // Other Styles `

Lo que haría es importar css desde los styled-components
con eso puede generar el css específico y devolverlo como una plantilla literal ver el documento .
y para la reutilización, generalmente puede usar ${value} que es equivalente para Spread Operator (o {...value} ) para componentes con estilo

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda