Traté de hacer un carrusel usando ganchos React y tuve éxito en el navegador de escritorio. Pero no sé por qué no funciona igual en el navegador móvil. Se mueve como lento y no suave y liso.
puede consultar cualquiera de los enlaces para verificar mis problemas en el navegador móvil. si saben por qué funciona de manera diferente en dispositivos móviles y si saben la solución para esto, por favor díganmelo...
... const onMouseUp = useCallback(e => { const currentPosition = e.clientX || e.changedTouches[0].clientX const delta = (currentPosition - swipeInfo.originX) / ref.current.clientWidth * 100 setSwipeInfo(state => ({ ...state, isSwiping: false, transitionX: 0 })) if ( delta < -SENSITIVITY ) { if (current === LAST_SLIDES) return ref.current.style.transition = 'all 0.3s ease-in-out' ref.current.style.transform = `translateX(-${current}00%)` setCurrent(current + 1) } else if ( delta > SENSITIVITY) { if (current === FIRST_SLIDES) return ref.current.style.transition = 'all 0.3s ease-in-out' ref.current.style.transform = `translateX(-${current - 2}00%)` setCurrent(current - 1) } else { ref.current.style.transition = 'all 0.3s ease-in-out' } }, [current, swipeInfo.originX]) useEffect(() => { if(swipeInfo.isSwiping) { document.addEventListener("mousemove", onMouseMove, {capture: true}) document.addEventListener("mouseleave", onMouseUp, {capture: true}) document.addEventListener("mouseup", onMouseUp, {capture: true}) document.addEventListener("touchmove", onTouchMove, {capture: true}) document.addEventListener("touchend", onMouseUp, {capture: true}) } return () => { document.removeEventListener("mousemove", onMouseMove, {capture: true}) document.removeEventListener("mouseleave", onMouseUp, {capture: true}) document.removeEventListener("mouseup", onMouseUp, {capture: true}) document.removeEventListener("touchmove", onTouchMove, {capture: true}) document.removeEventListener("touchend", onMouseUp, {capture: true}) } }, [swipeInfo.isSwiping]) ...Y no escribí los códigos completos aquí porque parece que los problemas de CSS no reaccionan y los problemas de javascript
¡gracias por leer!