Learn PREACT-MOTION with Real Code Examples
Updated Nov 26, 2025
Installation Setup
npm install preact-motion
Import Motion, spring, or presets
Wrap component styles with Motion
Define spring physics config
Render animated styles via render function
Environment Setup
Preact + Vite environment
Basic CSS setup
Browser with requestAnimationFrame
Optional Tailwind
Node 18+ recommended
Config Files
motionPresets.js
animations.js
App.jsx (root motion)
MotionConfigs.js
routesMotion.js
Cli Commands
npm install preact-motion
npm run dev
npm run build
vite preview
npm install preact-router (optional)
Internationalization
RTL-friendly
Layout changes animate uniformly
Text updates transition smoothly
Locale-independent physics
Works with any i18n library
Accessibility
Honors prefers-reduced-motion
Avoids distracting extreme wobble
Animations are non-blocking
DOM order preserved
No impact on screen readers
Ui Styling
Animated styles returned per frame
Supports transforms, opacity, layout
Combine with CSS classes
Works with utility frameworks
Supports interpolation chaining
State Management
State drives target animation values
Springs calculate intermediate states
Signals or stores can trigger animation
Clean state changes prevent jitter
TransitionMotion tracks list state
Data Management
Keys required for list animations
State defines animation targets
Springs maintain internal velocity
Presets help unify motion behavior
Multiple motions can sync via state