Guida all'Aggiornamento (da v4 a v5)
Traduzione Beta Non Ufficiale
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Modifiche di Rottura nelle API
- La funzione callback per la formattazione del rich text non è più variadica.
Prima:
new IntlMessageFormat('a<b>strong</b>').format({
b: (...chunks) => <strong>{chunks}</strong>,
})
Dopo:
new IntlMessageFormat('a<b>strong</b>').format({
b: chunks => <strong>{chunks}</strong>,
})
- La prop render di
FormattedMessagenon è più variadica.
Prima:
<FormattedMessage defaultMessage="a<b>strong</b>">
{(...chunks) => <b>{chunks}</b>}
</FormattedMessage>
Dopo:
<FormattedMessage defaultMessage="a<b>strong</b>">
{chunks => <b>{chunks}</b>}
</FormattedMessage>
- L'uso di
FormattedMessagesenza un contestointlcauserà un errore immediato (fail fast).
Motivazioni di queste modifiche
La funzione callback per la formattazione del rich text non è più variadica
-
Abbiamo ricevuto feedback dalla comunità che la funzione callback variadica non è ergonomica.
-
Esiste inoltre un problema per cui i
chunksdi React non includono chiavi, causando warning durante lo sviluppo. -
I
chunksda soli non sono sufficienti per renderizzare tag duplicati, come<a>link</a> and another <a>link</a>, quando servono duehrefdiversi per il tag<a>. In questo casoa: chunks => <a>{chunks}</a>non basta, specialmente con contenuti identici. In futuro potremmo aggiungere un argomento aggiuntivo con metadati per distinguere gli elementi.
La prop render di FormattedMessage non è più variadica
- Stesse motivazioni di cui sopra.
L'uso di FormattedMessage senza un contesto intl causerà un errore immediato
- Anche questo deriva dal feedback degli sviluppatori interni di Dropbox.
FormattedMessageha un renderer predefinito in inglese che maschera problemi di configurazione delProvider, impedendone l'individuazione durante i test.