Usé el gancho useDrag de 'react-use-gesture'.
const drag = useDrag((params) => {}, { bounds: {...bounds} } )Uso límites en clientWidth completo.
Funciona bien con límites constantes. Pero después de cambiar el tamaño de la ventana del navegador (abrir el panel de devtools en mi caso), enganche el valor de desplazamiento anterior (necesito arrastrar todo el ancho del cambio de tamaño clientWidth).
¿Cómo puedo usar useDrag con document.body.clientWidth ?
Encontré solución. Si necesitamos límites dinámicos, podemos reescribir valores en la devolución de llamada de gancho
const bind = useGesture({ onDrag: (params) => { params._bounds[0] = [1, smth1]; if (params.offset[0] > smth2) { params.lastOffset[0] = smth2 params.offset[0] = smth2 } })