Todos los componentes

MotionHold

Mantén pulsado para confirmar una acción destructiva; si sueltas antes, retrocede.

WebReact NativeGestos

Pruébalo

Preparando el ejemplo…

Uso mínimo

Danger.jsx
<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

PropTipoPor defectoDescripción
childrenReactNodeLa etiqueta del botón.
onConfirm() => voidSe ejecuta una vez cuando se completa la pulsación.
durationnumber1200Milisegundos que hay que mantener pulsado.
disabledbooleanfalseDesactiva el botón.
fillClassNamestringClase 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.

Se usa en estos ejemplos

Buscar

Escribe para buscar en la documentación.