Once UI Blog
Builder stories
Beiträge
Once UI
Once UI Stack chat: an AI chat with a face
Once UI 2.5: reactions that move
Once UI 2.4: ready for AI apps
Once UI 3.0 beta: one way to say it
Stack languages: your app in Hungarian, or in two
Stack store: your shop on your own site
Liquid Metal: chrome that never sets
Chirio, redesigned
Styled screenshots in Chirio
Once UI 2.3: made for real apps
Frametic is now a video and capture studio
Agents write about 40% less code from Stack
Magic Portfolio, now on Once UI 2
Frametic MCP: let your agent film your site
Once UI Stack: your site as a desktop app
Once UI Stack, redesigned
Stack: teams and billing
Prism Glow: soft prism light behind your sign-in screen
Once UI for React Native: the same props on a phone
Once UI 2.2: chat, forms and mobile
Dither: your own image or video as a dithered print
Once UI 2.1: The pieces apps kept asking for
Once UI 2.0: A system an AI can build with
Once UI 2.0 Alpha: Gemessen, nicht vermutet
Paarweise gestalten: background und onBackground
Colour arrives in pairs
Once UI 1.8: Feinschliff als Feature
Once UI 1.7: Form mit Absicht
Von Produkten zu Systemen: Ein neues Servicemodell
Magic Journal: Ein anderes Medium für Langform-Texte
Supa Social: Der nächste Meilenstein unserer Reise
Once UI ist Open Source. So wollen wir es beibehalten.
Gestaltung einer zeitlosen, KI-nativen Marke
Once UI 1.5: Neugier im Code
Once UI 1.4 Migrationsleitfaden: Das Breakpoint-Objekt
Launches im KI-nativen Zeitalter: Ein Leitfaden für Indie-Builder
Das erste Design-System für Indie-Builder
Builder Stories
Side und Once UI: Von der Café-Website zum Reservierungssystem
SatisPro und Once UI: Smarteres Bewertungsmanagement skalieren
IQON und Once UI: Skalieren mit einem Design-System
Dev: Verbindung von Wissenschaft und Code mit Once UI
JExcellence und Once UI: Experimente in Enterprise-Apps verwandeln
OsmyReal: Start einer Mobile-Gaming-Plattform mit minimalem Codeaufwand
TrademarkTrademark
Ctrl k
Suchen…
Registrieren
Once UI Blog
Builder stories
Beiträge
Once UI
Once UI Stack chat: an AI chat with a face
Once UI 2.5: reactions that move
Once UI 2.4: ready for AI apps
Once UI 3.0 beta: one way to say it
Stack languages: your app in Hungarian, or in two
Stack store: your shop on your own site
Liquid Metal: chrome that never sets
Chirio, redesigned
Styled screenshots in Chirio
Once UI 2.3: made for real apps
Frametic is now a video and capture studio
Agents write about 40% less code from Stack
Magic Portfolio, now on Once UI 2
Frametic MCP: let your agent film your site
Once UI Stack: your site as a desktop app
Once UI Stack, redesigned
Stack: teams and billing
Prism Glow: soft prism light behind your sign-in screen
Once UI for React Native: the same props on a phone
Once UI 2.2: chat, forms and mobile
Dither: your own image or video as a dithered print
Once UI 2.1: The pieces apps kept asking for
Once UI 2.0: A system an AI can build with
Once UI 2.0 Alpha: Gemessen, nicht vermutet
Paarweise gestalten: background und onBackground
Colour arrives in pairs
Once UI 1.8: Feinschliff als Feature
Once UI 1.7: Form mit Absicht
Von Produkten zu Systemen: Ein neues Servicemodell
Magic Journal: Ein anderes Medium für Langform-Texte
Supa Social: Der nächste Meilenstein unserer Reise
Once UI ist Open Source. So wollen wir es beibehalten.
Gestaltung einer zeitlosen, KI-nativen Marke
Once UI 1.5: Neugier im Code
Once UI 1.4 Migrationsleitfaden: Das Breakpoint-Objekt
Launches im KI-nativen Zeitalter: Ein Leitfaden für Indie-Builder
Das erste Design-System für Indie-Builder
Builder Stories
Side und Once UI: Von der Café-Website zum Reservierungssystem
SatisPro und Once UI: Smarteres Bewertungsmanagement skalieren
IQON und Once UI: Skalieren mit einem Design-System
Dev: Verbindung von Wissenschaft und Code mit Once UI
JExcellence und Once UI: Experimente in Enterprise-Apps verwandeln
OsmyReal: Start einer Mobile-Gaming-Plattform mit minimalem Codeaufwand
Once UI

Once UI 1.4 Migrationsleitfaden: Das Breakpoint-Objekt

Aktualisieren Sie Ihre App in 5 Minuten auf Once UI 1.4.
Aktualisiert vor 1 Stunde
Once UI 1.5: Neugier im Code
Launches im KI-nativen Zeitalter: Ein Leitfaden für Indie-Builder
Sponsored
Aveiro
aveiro.app
Sponsored
Aveiro
aveiro.app
TrademarkTrademark
Once UIDokumentationBlog
© Once UI. Alle Rechte vorbehalten.
Built with Aveiro
Once UI 1.4 ist da – mit neuen Komponenten, verbesserten Komponenten-APIs und lang ersehnten Funktionen. Hier erfahren Sie, was Sie tun müssen, um Ihr Projekt zu aktualisieren.

Der LayoutProvider-Kontext

Dieser Kontext ist für die aktualisierten Flex- und Grid-Komponenten erforderlich. Umschließen Sie die Children Ihrer App in Ihrer layout.tsx oder Providers.tsx mit der LayoutProvider-Komponente. Damit können Sie die Standard-Breakpoints überschreiben. Beachten Sie jedoch, dass die Überschreibungen nur die Laufzeitlogik (Layout Shifts) betreffen und keine Utility-Klassen (Positionierung, Styling usw.). Verwenden Sie die Überschreibungsfunktion mit Vorsicht, da es sich noch um ein Beta-Feature handelt.

Das Breakpoint-Objekt

Eine der wichtigsten Funktionen des neuen Releases ist das Breakpoint-Objekt der Flex- und Grid-Komponenten, das die Props tabletDirection, mobileDirection, tabletColumns, mobileColumns, hide und show ersetzt und zusätzliche Möglichkeiten bietet, Standardstile an verschiedenen Breakpoints zu überschreiben. Schauen wir uns das anhand einiger Beispiele in der Praxis an!
Der neue, objektbasierte Ansatz unterstützt einen zusätzlichen Bereich für xs (standardmäßig 480px) und l (standardmäßig 1440px), wobei xl für alles über 1440px steht. Die Eigenschaft fügt beim Laden der Seite eine Utility-Klasse hinzu, um Layout Shifts zu verhindern, und entfernt das Element anschließend aus dem DOM, um die Performance zu optimieren. Alte Syntax: Neue Syntax:
Es gibt nur noch eine einzige hide-Prop zur Steuerung der Sichtbarkeit bei verschiedenen Breakpoints. Sie funktioniert ähnlich wie die CSS-Breakpoint-Eigenschaft max-width, was bedeutet, dass sich die Deklaration auch auf alle kleineren Breakpoints auswirkt, sofern nicht anders angegeben. Alte Syntax: Neue Syntax:
Grid-Spalten können mit dem neuen Breakpoint-Objekt ebenfalls überschrieben werden. Alte Syntax: Neue Syntax:

Neue Funktionen

Mit dem neuen Breakpoint-Objekt können Sie die meisten Display-Props überschreiben. Hier ist eine Liste der derzeit unterstützten Eigenschaften: direction, horizontal, vertical und position. Beachten Sie im obigen Beispiel auch, dass top nicht gesetzt ist, da es standardmäßig auf 0 gesetzt wird, wenn bei Verwendung von Sticky-Positionierung nichts anderes angegeben ist. Sie können Inline-Stile für verschiedene Breakpoints festlegen, die zur Laufzeit mit einer minimalen Verzögerung aufgelöst werden. Das eignet sich hervorragend für kleinere Anpassungen, insbesondere wenn das Element an einem bestimmten Breakpoint ausgeblendet ist, wie beispielsweise ein mobiles Menü. Wir haben die Komponenten Flex und Grid in Client- und Server-Pendants aufgeteilt. Wann immer Sie sie verwenden, erkennen sie automatisch, ob Client-Funktionalität erforderlich ist, und rendern nur dann mit der Direktive use client, wenn dies tatsächlich notwendig ist.

Vereinfachte Ausrichtung

Die Werte für die Ausrichtung (horizontal und vertical) für Flex sind jetzt über die folgende verkürzte Syntax verfügbar:
Alt
Neu
`space-between``between`
`space-around``around`
`space-evenly``even`
Die neuen Eigenschaften sind kürzer und konsistenter mit den bestehenden Werten start und end.

Migration

Die Verwendung von Suchen und Ersetzen im gesamten Projekt ist für diese Aktualisierungen im Allgemeinen sicher.
Alt
Neu
`tabletDirection="column"``m={{direction:"column"}}`
`mobileDirection="column"``s={{direction:"column"}}`
`tabletDirection="row"``m={{direction:"row"}}`
`mobileDirection="row"``s={{direction:"row"}}`
Alt
Neu
`tabletColumns={1}``m={{columns: 1}}`
`tabletColumns={2}``m={{columns: 2}}`
......
`tabletColumns={12}``m={{columns: 12}}`
`mobileColumns={1}``s={{columns: 1}}`
`mobileColumns={2}``s={{columns: 2}}`
`mobileColumns={12}``s={{columns: 12}}`
Alt
Neu
`hide="m"``m={{hide: true}}`
`hide="s"``s={{hide: true}}`
`show="m"``hide m={{hide: false}}`
`show="s"``hide s={{hide: false}}`
Alt
Neu
`horizontal="space-between"``horizontal="between"`
`horizontal="space-around"``horizontal="around"`
`horizontal="space-evenly"``horizontal="even"`
`vertical="space-between"``vertical="between"`
`vertical="space-around"``vertical="around"`
`vertical="space-evenly"``vertical="even"`

Weitere Aktualisierungen

Wir haben zahlreiche Verbesserungen bei der Barrierefreiheit vorgenommen: überarbeiteter DatePicker, eine Eigenschaft für einen benutzerdefinierten Cursor für Flex und Grid, die reactNode unterstützt, die Einführung von ProgressBar und vieles mehr! Lesen Sie die offizielle Dokumentation.
<Row fillWidth tabletDirection="column">
  {children}
</Row>
<Row fillWidth m={{direction: "column"}}>
  {children}
</Row>
<Column show="m">
  {children}
</Column>
<Column hide m={{hide: false}}>
  {children}
</Column>
<Grid columns={8} tabletColumns={4} mobileColumns={2}>
  {children}
</Grid>
<Grid columns={8} m={{columns: 4}} s={{columns: 2}}>
  {children}
</Grid>
<Column position="sticky" m={{position: "absolute"}}>
  {children}
</Column>
<Column position="sticky" m={{position: "absolute", style: {top: "24"}}}>
  {children}
</Column>