2017-01-19 2 views
11

Ich habe vor kurzem mein Android Studio und viele Komponenten/SDK aktualisiert und seit dann beschwert sich React-Intl über intl Bibliothek fehlt, auch wenn es vorher gut funktionierte.React-Native und Intl Polyfill benötigt auf Android-Gerät

Ich habe das intl Polyfill installiert und ich importiere es ganz oben in meiner Hauptdatei App.js. Ich importiere auch die localeData von react-intl und füge es hinzu. Dann mache ich meine Ansicht im IntlProvider die locale ohne Nachrichten Angabe (ich verwende nur FormattedNumber vorerst)

Dies ist eine vereinfachte Version meines 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> 
    ) 
} 

ich die folgende Fehlermeldung erhalten:

[React Intl] Error formatting number. ReferenceError: No locale data has been provided for this object yet.

enter image description here

ich verstehe nicht, was los ist. Jeder hat das gleiche Problem?

Dank

Antwort

9

Statt locale-Daten aus react-intl, ich gelöst haben das Problem Import der polyfill und die Länderdaten von intl

Installieren intl

npm install intl 

Fügen Sie diese ganz am Import von Oberseite Ihrer App:

import 'intl'; 
import 'intl/locale-data/jsonp/en'; 
+3

Vielen Dank für die Rettung meines ganzen Lebens. – Suho

2

Kopf hoch, das funktioniert jetzt mit dem import 'intl'; an der Spitze und immer noch Laden der locale-Daten von react-intl. Verwenden Sie die folgenden Versionen:

"intl": "^1.2.5", 
"react-intl": "^2.2.2", 
+1

Dies funktioniert auch mit "react-intl": "^ 2.3.0" – Mati