MotionHold
Mantén pulsado para confirmar una acción destructiva; si sueltas antes, retrocede.
WebReact NativeGestos
Pruébalo
Preparando el ejemplo…
Uso mínimo
<MotionHold duration={1200} onConfirm={deleteProject}>
Hold to delete
</MotionHold>;Lo que resuelve por ti
- El relleno crece mientras se mantienen pulsados el puntero, Espacio o Intro.
- Soltar antes hace retroceder el relleno, y volver a pulsar a mitad del retroceso continúa desde el relleno actual.
- El botón se hunde mientras se mantiene y rebota una vez al confirmar.
Úsalo para
- Borrar un proyecto.
- Mantener pulsado para pagar.
- Restablecer los ajustes.
Props
| Prop | Tipo | Por defecto | Descripción |
|---|---|---|---|
children | ReactNode | La etiqueta del botón. | |
onConfirm | () => void | Se ejecuta una vez cuando se completa la pulsación. | |
duration | number | 1200 | Milisegundos que hay que mantener pulsado. |
disabled | boolean | false | Desactiva el botón. |
fillClassName | string | Clase para el relleno que crece; fillStyle fija su estilo en línea. |
Las demás props van al elemento renderizado, así que className, style y los manejadores de eventos funcionan como siempre.
Web y React Native
Dale estilo al relleno con fillClassName o fillStyle; las demás props van al button.
En React Native, la acción de activar de accesibilidad confirma directamente, porque mantener pulsado es difícil con tecnologías de apoyo.