Guide de mise à niveau (v4 -> v5)
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Changements cassants de l'API
- La fonction de callback de formatage de texte riche n'est plus variadique.
Avant :
new IntlMessageFormat('a<b>strong</b>').format({
b: (...chunks) => <strong>{chunks}</strong>,
})
Après :
new IntlMessageFormat('a<b>strong</b>').format({
b: chunks => <strong>{chunks}</strong>,
})
- La prop de rendu
FormattedMessagen'est plus variadique.
Avant :
<FormattedMessage defaultMessage="a<b>strong</b>">
{(...chunks) => <b>{chunks}</b>}
</FormattedMessage>
Après :
<FormattedMessage defaultMessage="a<b>strong</b>">
{chunks => <b>{chunks}</b>}
</FormattedMessage>
- L'utilisation de
FormattedMessagesans contexteintléchouera immédiatement.
Pourquoi ces changements ?
La fonction de callback de formatage texte riche n'est plus variadique
-
Nous avons reçu des retours de la communauté indiquant que les fonctions variadiques manquent d'ergonomie.
-
Un problème existe également avec les
chunksReact qui ne disposent pas de clés, générant des avertissements en développement. -
Les
chunksseuls sont insuffisants pour afficher des balises dupliquées, par exemple<a>link</a> and another <a>link</a>où deuxhrefdifférents sont nécessaires pour la balise<a>. Dans ce cas,a: chunks => <a>{chunks}</a>ne suffit pas, surtout quand le contenu est identique. À l'avenir, nous pourrons ajouter un autre argument contenant des métadonnées pour distinguer les éléments.
La prop de rendu FormattedMessage n'est plus variadique
- Mêmes raisons que ci-dessus.
Utiliser FormattedMessage sans contexte intl échouera immédiatement
- Ce changement provient également de retours internes de Dropbox. Le rendu par défaut en anglais de
FormattedMessagemasquait des problèmes de configuration duProvider, empêchant leur détection pendant les tests.