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

688
Views
¿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 answers
Answer question

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 Report
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!