Wenn ich ein Designsystem aus Figma in echte React‑Komponenten überführe, geht es mir nicht nur darum, Pixel zu reproduzieren. Ich will ein wartbares, wiederverwendbares System, das EntwicklerInnen und DesignerInnen gleichermaßen Freude macht. In diesem Artikel teile ich meinen pragmatischen Workflow, die Werkzeuge, die ich regelmäßig benutze, und die Fallstricke, auf die du achten solltest – inklusive konkreter Schritte zum Export von Design Tokens, Komponentenstrukturen und Integration in ein React‑Projekt.
Warum Designsysteme aus Figma nicht einfach “exportiert” werden
Viele erwarten, es gäbe einen Knopf “Export to React” und alles ist sauber. In der Realität liegt der Wert eines Designsystems nicht nur in Statics, sondern in der Semantik: Tokens, Varianten, Komponentenhierarchie, API‑Design der Komponenten (Props), Accessibility‑Verhalten, responsive Regeln und Tests. Figma ist großartig für visuelle Konsistenz; den Rest müssen wir bewusst modellieren.
Was ich zuerst exportiere: Design Tokens
Design Tokens sind die Grundlage. Sie definieren Farben, Abstände, Typografie, Radius, Schatten usw. und sind die abstrakte Ebene, die zwischen Figma und Code vermittelt.
Mein Workflow für Tokens:
Warum Style Dictionary? Es übersetzt Tokens in mehrere Plattformformate (CSS Variables, JS, iOS, Android). Das macht den reinen Export aus Figma portabel und reproduzierbar.
Mapping: Tokens → CSS / CSS‑in‑JS / Tailwind
Nachdem die Tokens im Projekt sind, musst du entscheiden, wie du sie verwendest:
Ich erstelle in der Regel eine Datei tokens.ts, die die Tokens als TypeScript‑Objekt exportiert. So habe ich Typensicherheit innerhalb der Komponenten.
Komponentenstruktur aus Figma ableiten
Bevor ich Code schreibe, strukturiere ich die Komponentenbibliothek nach Funktion:
Die Struktur mappe ich in Figma: Komponentenbibliothek sauber in Pages oder Haupt‑Frames gliedern, Naming Conventions einhalten (z. B. Button/Primary, Button/Secondary). So lassen sich Varianten leichter erkennen und automatisiert verarbeiten.
Automatische Generierung von Komponenten
Vollautomatisch perfekte React‑Komponenten zu erzeugen ist schwierig. Ich verwende Tools, die mir die repetitive Basisarbeit abnehmen:
Die typische Pipeline: Tokens exportieren → Boilerplate‑Komponenten generieren → Komponenten manuell veredeln (Props, Accessibility, Tests) → Storybook dokumentieren.
Wie ich Varianten in React übersetze
Figma Variants sind Gold wert, weil sie UI‑Zustände in einer Gruppe konsistent abbilden. Ich übersetze Variants in React meist so:
Wichtig: Grenzen der Varianten. Figma erlaubt beliebige Kombinationen; im Code solltest du nur die Kombinationen zulassen, die UI/UX wirklich benötigen. Typisierung (TypeScript) hilft, falsche Kombinationen zu verhindern.
Accessibility, Interaktion und Behavior
Design allein ist nicht ausreichend. In Figma kann ich Hover‑States und Focus zeigen, aber das Verhalten muss im Code implementiert werden:
Ich schreibe Accessibility‑Checks direkt in die Komponente und ergänze Storybook‑Stories mit Accessibility Addons, damit Designer und EntwicklerInnen Verhaltensweisen in der Storybook‑Umgebung testen können.
Testing und Dokumentation
Ohne Tests verwässern Designintegrität und Refactoring‑Sicherheit. Meine Teststrategie:
Storybook macht außerdem das Hand‑off zwischen DesignerInnen und EntwicklerInnen viel einfacher – man referenziert Stories beim Review.
CI/CD und Sync mit Figma
Ich habe gute Erfahrungen mit automatisierten Jobs gemacht:
Zusätzlich setze ich ein Watcher‑Skript auf, das Token‑Exports aus einem getrackten Figma‑Token‑Repo entgegennimmt und automatisch Style Dictionary laufen lässt. So sind UI‑Tokens immer synchron.
Praktische Tipps aus der Praxis
Toolvergleich (kurz)
| Tool | Stärken | Schwächen |
|---|---|---|
| Figma Tokens | Flexibler Token‑Editor, JSON‑Export | Benötigt Pipeline für Platform‑Builds |
| Style Dictionary | Plattformübergreifend, gut für Token‑Transformation | Konfiguration kann komplex werden |
| Anima / Figma‑to‑React | Schnelle JSX‑Exports | Generierter Code oft unzureichend für Produktion |
| Storybook | Dokumentation + Visual Tests | Braucht Pflege und Stories schreiben Zeit |
Ein kurzes Beispiel: Button‑Token → React
So könnte ein minimaler Flow aussehen:
Natürlich würde ich Styled Components oder CSS Modules bevorzugen, Props typisieren und Accessibility‑Attributes ergänzen. Aber der Kern bleibt: Token → stilistische Variablen → Komponenten‑API.
Wenn du willst, kann ich dir einen Starter‑Repo‑Plan mit Scripts für Figma Tokens + Style Dictionary + Storybook zusammenstellen. Sag mir, welche Technologien du bevorzugst (CSS Modules, Emotion, Tailwind) — dann passe ich das Beispiel an.