🎁

12 Days of Baddass Courses sale! Get instant access to the entire egghead library of courses and lessons for 58% off.

Runs out in:
13 : 08 : 46 : 46
Join egghead, unlock knowledge.

Want more egghead? It's 58% off for a limited time only!

This lesson is for members. Join us? Get access to all 3,000+ tutorials + a community with expert developers around the world.

Unlock All Content for 40% Off
1×
Become a member
to unlock all features
Autoplay

    Animate buttons using gesture controls like whileTap and onDrag from Framer Motion

    Kyle GillKyle Gill
    reactReact

    Learn how to create common button animations by applying gesture recognizers like whileTap, whileHover, and onDrag. Framer Motion offers flexibility in how animations are pieced together but offers sensible defaults for the transitions it applies without you having to mess with transition easing methods.

    These props extend React's event listeners to apply powerful gesture detection for animations on components and can be strung together or used for more simple use cases.

    Check out the official docs for more information on them.

    Code

    Code

    Become a Member to view code

    You must be a Member to view code

    Access all courses and lessons, track your progress, gain confidence and expertise.

    Become a Member
    and unlock code for this lesson
    Discuss

    Discuss

    Transcript

    Transcript

    Instructor: In a motion component like with this button wrapped by a motion div, framer motion provides gesture recognizing event listeners to detect tapping, hovering, dragging and more. With this button, you can add a whileHover prop with the transition object to define what would be animated when hovered, like scaling the button up 1.15 times its normal size.

    The similarly functioning whileTap prop can provide shrinking the button when it is pressed. Adding a drag prop can make a component draggable within X bounce, within Y bounce or within both X and Y bounce. The dragConstraints prop can set a limit for draggable bounce and the onDrag prop returns data about the drag event.