Upgrade-Leitfaden (v4 -> v5)
Inoffizielle Beta-Übersetzung
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Breaking API-Änderungen
- Die Callback-Funktion für die Rich-Text-Formatierung ist nicht mehr variadisch.
Vorher:
new IntlMessageFormat('a<b>strong</b>').format({
b: (...chunks) => <strong>{chunks}</strong>,
})
Nachher:
new IntlMessageFormat('a<b>strong</b>').format({
b: chunks => <strong>{chunks}</strong>,
})
- Die Render-Prop von
FormattedMessageist nicht mehr variadisch.
Vorher:
<FormattedMessage defaultMessage="a<b>strong</b>">
{(...chunks) => <b>{chunks}</b>}
</FormattedMessage>
Nachher:
<FormattedMessage defaultMessage="a<b>strong</b>">
{chunks => <b>{chunks}</b>}
</FormattedMessage>
- Die Verwendung von
FormattedMessageohneintl-Kontext führt nun sofort zu einem Fehler.
Warum wurden diese Änderungen vorgenommen?
Rich-Text-Formatierung: Callback nicht mehr variadisch
-
Wir erhielten Community-Feedback, dass variadische Callback-Funktionen nicht ergonomisch sind.
-
Zudem verursachen React-
chunksohne Keys Warnungen während der Entwicklung. -
Die
chunksallein reichen nicht aus, um doppelte Tags zu rendern, wie z.B.<a>link</a> and another <a>link</a>, bei denen man unterschiedlichehref-Werte für das<a>-Tag setzen möchte. In solchen Fällen genügta: chunks => <a>{chunks}</a>nicht, besonders bei identischem Inhalt. Zukünftig könnte ein zusätzliches Argument mit Metadaten zur Unterscheidung hinzukommen.
FormattedMessage Render-Prop nicht mehr variadisch
- Gleiche Gründe wie oben.
FormattedMessage ohne intl-Kontext führt zu sofortigem Fehler
- Basierend auf Dropbox-Entwicklerfeedback: Der standardmäßige englische Renderer von
FormattedMessagemaskierteProvider-Konfigurationsfehler, die dadurch in Tests unentdeckt blieben.