Tobias Ludwig
Start
ServicesWeb, Apps, Backend und KIPlanerBausteine wählen, Preis sofort sehenBranchen-DemosBeispielseiten für Handwerk, Praxis, GastroReferenzenKundenprojekte mit ErgebnisMatch-CheckPasst das Vorhaben zu mir?Über michWer hinter der Seite steht
ProjekteEigene Software und Open SourceProdukteFertige Apps und WerkzeugeFlutterPlugins und PaketeBlogNotizen aus der Praxis
ToolsKleine Helfer im BrowserTech-WikiWerkzeuge und Stacks, kurz erklärtShowcaseDemos, Shader, Inszenierungen
Support & HilfeHilfe zu laufenden ProjektenMein KontoTickets und Zugänge
Erstgespräch
Erstgespräch buchenKostenloser Kennenlern-CallKontakt schreibenNachricht per Formular
$whoami
Tobias Ludwig
DevOps · Application Manager · Software Engineer
$ls /pages
tobias-ludwig/projekte/kontakt/kalender/impressum/datenschutz/
$git remote
github.com/nexas105
online·next.js 16·hono·postgresql
© 2026 tjl·stay curious_
Ambient OFF
Weiter so… ↓↓ ← → ← → B A
zurück zur Tech-Wiki
Tech-Wiki/Libraries
F

Framer Motion

Production-grade Animationen für React (Spring, Layout, Gesten).

·Framer·MIT
WebsiteDocsRepository

Übersicht

Was ist es?

Framer Motion ist die Production-Animation-Library für React — Springs, Gestures, Layout-Animationen, Variants, AnimatePresence. Default-Choice für UI-Animationen mit Polish.

Quickstart

pnpm add framer-motion
import { motion, AnimatePresence } from 'framer-motion'

<motion.div
  initial={{ opacity: 0, y: 20 }}
  animate={{ opacity: 1, y: 0 }}
  transition={{ type: 'spring', stiffness: 200 }}
/>

Typische Patterns

  • <AnimatePresence> für Exit-Animationen beim Unmount:
    <AnimatePresence>
      {open && <motion.div exit={{ opacity: 0 }} />}
    </AnimatePresence>
    
  • layout-Prop für magische Layout-Animationen ohne FLIP-Manual.
  • Variants für orchestrierte Sequenzen + staggerChildren.
  • useScroll + useTransform für Scroll-Linked-Animations.
  • useMotionValue für imperative Updates ohne Re-Render.

Gotchas / Was oft schiefgeht

  • <AnimatePresence> braucht stabile key auf Kindern, sonst kein Exit.
  • layout-Animationen können teuer sein — viele animierte Items → Performance-Bottleneck.
  • Bundle-Size ist nicht klein (~50kb+) — bei Marketing-Sites mit nur 1-2 Animations evtl. zu viel.
  • Mit Next.js App Router: Motion-Components brauchen "use client".
  • whileHover/whileTap auf Touch-Devices: kein Hover — explizit handhaben.

Wann nicht?

Für komplexe Timelines, ScrollTrigger-Choreografien oder SVG-Morphing → GSAP. Reine CSS-Transitions ohne Logik → Tailwind transition-* reicht.

Eingesetzt in

Projekte(1)

  • Bewerbungsplattform

Kategorie

Libraries

Tags

animationreact

Aliase

motion · framer

Slug

framer-motion