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

158
Vistas
React matchMedia: ¿hay una forma más limpia de hacer esto?

Necesito renderizar diferentes componentes según el tamaño de la pantalla:

Si la pantalla tiene 1012 px o menos, entonces setComponent('box');

Si la pantalla tiene 1460 px o menos, entonces setComponent('info);

De lo contrario, si la pantalla está por encima de 1460px, entonces setComponent('ambos');

Así es como lo estoy haciendo actualmente:

 if (typeof window !== 'undefined' && showComponents) { window.matchMedia('(max-width: 1012px)').addEventListener('change', (event) => { if (event.matches) { setComponent('box'); } }); window.matchMedia('(max-width: 1460px)').addEventListener('change', (event) => { if (event.matches) { setComponent('info'); } }); window.matchMedia('(min-width: 1460px)').addEventListener('change', (event) => { if (event.matches) { setComponent('both'); } }); }

Antes de esto, estaba usando window.innerWidth, sin embargo, leí que matchMedia es una mejor solución para esto. Pero mirando el código anterior, no estoy seguro de si hay una forma más limpia de escribirlo. ¿También es necesario eliminar los oyentes?

about 4 years ago · Santiago Gelvez
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