Chapter 25: Motion Values
Core Idea
Composable animatable values that can updated styles without re-renders.
Key Concepts
- Events: Listeners can be added to motion values via the on method or the useMotionValueEvent hook.
- Composition: Beyond useMotionValue
- API: Returns the latest state of the motion value.
- get(): Returns the latest state of the motion value.
- getVelocity(): Returns the latest velocity of the motion value.
- set(): Sets the motion value to a new state.
- jump(): Jumps the motion value to a new state in a way that breaks continuity from previous values
- isAnimating(): Returns true if the value is currently animating.
- stop(): Stop the active animation.
Code Examples
import { motion, useMotionValue } from "motion/react"
export function MyComponent() {
const x = useMotionValue(0)
return <motion.div style={{ x }} />
}
- What it demonstrates: Core usage pattern for Motion Values.
Key Takeaways
- Set and get their state.
- Pass to multiple components to synchronise motion across them.
- Chain
MotionValues via the useTransform hook.
- Update visual properties without triggering React's render cycle.
- Subscribe to updates.
Connects To
- React motion component: related Motion doc page.
- useMotionValueEvent: related Motion doc page.
- useVelocity: related Motion doc page.
- useTransform: related Motion doc page.