Guía de actualización (v4 a v5)
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Cambios importantes en la API
- La función callback de formato de texto enriquecido ya no es variádica.
Antes:
new IntlMessageFormat('a<b>strong</b>').format({
b: (...chunks) => <strong>{chunks}</strong>,
})
Después:
new IntlMessageFormat('a<b>strong</b>').format({
b: chunks => <strong>{chunks}</strong>,
})
- La prop render de
FormattedMessageya no es variádica.
Antes:
<FormattedMessage defaultMessage="a<b>strong</b>">
{(...chunks) => <b>{chunks}</b>}
</FormattedMessage>
Después:
<FormattedMessage defaultMessage="a<b>strong</b>">
{chunks => <b>{chunks}</b>}
</FormattedMessage>
- Usar
FormattedMessagesin un contextointlfallará inmediatamente.
¿Por qué realizamos estos cambios?
La función callback de formato de texto enriquecido ya no es variádica
-
Recibimos comentarios de la comunidad indicando que la función callback variádica no es ergonómica.
-
Existe un problema donde los
chunksde React no incluyen keys, generando advertencias durante el desarrollo. -
Los
chunkspor sí solos no bastan para renderizar etiquetas duplicadas, como<a>link</a> and another <a>link</a>donde necesitas diferenteshrefs para la etiqueta<a>. En estos casosa: chunks => <a>{chunks}</a>es insuficiente, especialmente con contenido idéntico. Futuras versiones podrían incluir un argumento adicional con metadatos para distinguir entre los 2 elementos.
La prop render de FormattedMessage ya no es variádica
- Mismas razones que el caso anterior.
Usar FormattedMessage sin un contexto intl fallará inmediatamente
- Basado en feedback de desarrolladores internos de Dropbox. El renderizador inglés predeterminado de
FormattedMessageoculta problemas de configuración delProvider, evitando su detección durante pruebas.