Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

199
Views
Mejores prácticas de uso de colores de tema: ¿cadena, variable o referencia del objeto de tema?

Tengo instalado eslint-plugin-sonarjs y me grita que uso la misma cadena, el color de la paleta, una y otra vez. Me sugiere escribirlo en una variable y usar la variable en su lugar.

Cuál sería la mejor práctica:

  1. Ignore la advertencia de eslint/desactívela y use nombres de cadena como de costumbre
 // MyComponent.tsx ... <Typography color={'primary.white'}/> ...
  1. Escriba todos los colores del tema en variables y use variables en su lugar
 // colors.ts export const WHITE_COLOR = 'primary.white' // rest of the colors ... // MyComponent.tsx ... <Typography color={WHITE_COLOR} /> ...
  1. Usar color del objeto del tema
 // MyComponent.tsx const theme = useTheme() ... <Typography color={theme.palette.primary.white} /> ...
  1. Crear gancho usePalette que devolvería el objeto de paleta del tema
 // usePalette.ts const theme = useTheme(); return useMemo(() => theme.palette, [theme]); // MyComponent.tsx const palette = usePalette(); ... <Typography color={palette.primary.white} /> ...
  1. O cree una nueva variante de Typography que use el color
 // MuiTypography.ts variants ... { props: {variant: 'white-text'}, styles: (theme) => ({ color: theme.palette.primary.white }) } ... // MyComponent.tsx ... <Typography variant={'white-text'} /> ...

?

En mi opinión, las opciones 2) y 3) son ridículas. 2) crea un envoltorio innecesario y 3) simplemente no se siente bien, demasiado para escribir.
1) es el más dulce.

¿Cuál crees que es la mejor práctica?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!