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

689
Vistas
¿Cómo ocultar/mostrar un componente React según el navegador del dispositivo?

Buscando ocultar/mostrar un componente en una aplicación web React/Nextjs/tailwind dependiendo del dispositivo en el que se encuentre el usuario (por ejemplo, escritorio vs tableta vs móvil) ya que hay ciertas teclas en el teclado disponibles para escritorio pero no para mesa y móvil ( por ejemplo, la tecla de tabulación). No quiero hacerlo por tamaño de pantalla ya que este es un problema del dispositivo (sin pestaña en el teclado) en lugar de un problema de tamaño de pantalla

Inicialmente, pensé en obtener el tipo de dispositivo (código al que se hace referencia en otro Q/A de stackoverflow), pero esto parece fallar cuando el usuario está en un dispositivo como un iPad y está usando la versión de escritorio para ese navegador (por ejemplo, safari de escritorio y no móvil safari). ¿Hay una mejor manera de manejar esto de modo que pueda verificar correctamente en qué dispositivo está el usuario para poder ocultar/mostrar el componente de reacción?

 const getDeviceType = () => { const ua = navigator.userAgent; if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) { return "tablet"; } if ( /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test( ua ) ) { return "mobile"; } return "desktop"; };
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

En JavaScript puede detectar el navegador con JavaScript usando window.navigator

El ejemplo de código según https://developer.mozilla.org/en-US/docs/Web/API/Window/navigator sería

 var sBrowser, sUsrAg = navigator.userAgent; // The order matters here, and this may report false positives for unlisted browsers. if (sUsrAg.indexOf("Firefox") > -1) { sBrowser = "Mozilla Firefox"; // "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0" } alert("You are using: " + sBrowser);

Pero para reaccionar hay otro paquete que puede usar que es npm install react-device-detect

El ejemplo de código sería

 import { browserName, browserVersion } from "react-device-detect" console.log(`${browserName} ${browserVersion}`);

Después de detectar el navegador, solo renderiza condicionalmente lo que quiera mostrar

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