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

100
Vistas
Escuche los cambios en la longitud del contenido del elemento o la presencia de una barra de desplazamiento en React

Tengo un contenedor con overflow-y: auto y necesito cambiar el resto de mi diseño dependiendo de si su barra de desplazamiento está presente o no.

Sé que puedo verificar la presencia de la barra de desplazamiento en cualquier momento:

 const scrollbarVisible = (e) => e.scrollHeight > e.clientHeight

Pero no sé cómo escuchar/observar la presencia de la barra de desplazamiento para activar una nueva representación de mi side-dock.

¿Cuáles son mis opciones? ¿Tengo alguno además de verificar la barra de desplazamiento en intervalos regulares con setInterval para detectar el cambio de esa manera?

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

0

Puede usar la API de observador de cambio de tamaño para verificar los cambios de tamaño en un elemento. Un ejemplo de uso, también presente en el enlace que mencioné, sigue:

 import * as React from 'react' import useResizeObserver from '@react-hook/resize-observer' const useSize = (target) => { const [size, setSize] = React.useState() React.useLayoutEffect(() => { setSize(target.current.getBoundingClientRect()) }, [target]) // Where the magic happens useResizeObserver(target, (entry) => setSize(entry.contentRect)) return size } const App = () => { const target = React.useRef(null) const size = useSize(target) return ( <pre ref={target}> {JSON.stringify({width: size.width, height: size.height}, null, 2)} </pre> ) }

Después de eso, puede verificar el desbordamiento como lo hizo con JS

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