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

328
Vistas
Framer Motion React: crea un carrusel de imágenes y cuando cambio el tamaño del dom, las restricciones de arrastre ya no funcionan

Esperaba obtener su ayuda con un problema que he tenido con useRef y Framer motion.

Actualmente estoy creando un componente de carrusel para elementos destacados que podría tener cualquier cantidad de diapositivas según las etiquetas del usuario.

El problema que tengo es que cuando se cambia el tamaño del dom, la referencia ya no calcula las restricciones de arrastre correctas y no puedo desplazarme por la lista completa en el eje X.

Aquí está el código

 import { motion } from 'framer-motion'; import SliderStyles from './Slider.module.scss'; import Button from '@components/buttons/Button'; type SliderProps = { images: string[]; }; const Slider = ({ images }) => { const sliderRef = useRef(null); const [width, setWidth] = useState(0); useEffect(() => { if (sliderRef.current) { const { clientWidth, scrollWidth } = sliderRef.current; setWidth(-(scrollWidth - clientWidth)); } }, []); return ( <motion.div className={SliderStyles.Slider} ref={sliderRef}> <motion.div className={SliderStyles.SliderTrack} drag="x" dragConstraints={{ right: 0, left: width - 50, }} > {images.map((image, index) => ( <div className={SliderStyles.SliderItem} key={image + index.toString()} > <div className={SliderStyles.SliderOverlay}> <h3>Product Name</h3> <Button type="button">Order Now</Button> </div> <img src={image} alt="slider item" /> </div> ))} </motion.div> </motion.div> ); }; export default Slider;

Gracias de antemano, cualquier ayuda es apreciada!

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

0

https://github.com/framer/motion/issues/1454#issuecomment-1073807017

solución temporal encontrada en problemas de github - ¡Siga el enlace de arriba si también se encuentra con este problema!

Esperemos que se haga una corrección en las versiones más recientes.

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