Become a member
to unlock all features

Level Up!

Access all courses & lessons on egghead today and lock-in your price for life.


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

    Kyle GillKyle Gill

    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.



    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




    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.