web-dev-qa-db-fra.com

Polyfill React-Native et Intl requis sur Android

J'ai récemment mis à jour mon Android Studio et de nombreux composants/sdk et depuis lors, React-Intl se plaint de la bibliothèque intl manquante, même si cela fonctionnait bien auparavant.

J'ai installé le polyfill intl et je l'importe tout en haut de mon fichier principal App.js. J'importe également le localeData de react-intl et ajoutez-le. Ensuite, je rends ma vue dans le IntlProvider en spécifiant le locale sans message (j'utilise uniquement FormattedNumber pour l'instant)

Ceci est une version simplifiée de mon code:

import 'intl';
import { IntlProvider, FormattedNumber, addLocaleData } from 'react-intl';
import en from 'react-intl/locale-data/en';

addLocaleData(en);

[...]

render() {
    return (
        <IntlProvider locale="en">
            <Text>
                <FormattedNumber value={123} />
            </Text>
        </IntlProvider>
    )
}

J'obtiens l'erreur suivante:

[React Intl] Erreur de formatage du numéro. ReferenceError: Aucune donnée locale n'a encore été fournie pour cet objet.

enter image description here

Je ne comprends pas ce qui se passe. Quelqu'un rencontre le même problème?

Merci

19
alexmngn

Au lieu d'importer des données locales à partir de react-intl, J'ai résolu le problème d'importation du polyfill et des données locales à partir de intl

Installez intl

npm install intl

Ajoutez ceci tout en haut de votre application:

import 'intl';
import 'intl/locale-data/jsonp/en';
31
alexmngn

Attention, cela fonctionne maintenant en faisant simplement le import 'intl'; en haut et toujours en charge les données locales de react-intl. En utilisant les versions suivantes:

"intl": "^1.2.5",
"react-intl": "^2.2.2",
7
user888750