私は最近Android Studioと多くのコンポーネント/ sdkを更新しました。それ以来、React-Intlはintl
ライブラリがないと文句を言いましたが、以前はうまく機能していました。
intl
ポリフィルをインストールし、メインファイルApp.js
の最上部にインポートしました。また、react-intl
からlocaleData
をインポートして追加します。次に、メッセージを表示せずにIntlProvider
を指定してlocale
内にビューをレンダリングします(現時点ではFormattedNumber
のみを使用しています)
これは私のコードの簡略化されたバージョンです:
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>
)
}
次のエラーが発生します。
[React Intl]数値のフォーマット中にエラーが発生しました。 ReferenceError:このオブジェクトのロケールデータはまだ提供されていません。
何が起こっているのかわかりません。誰かが同じ問題に遭遇しましたか?
ありがとう
react-intl
からロケールデータをインポートする代わりに、intl
からポリフィルとロケールデータをインポートする問題を解決しました
インストールintl
npm install intl
これをアプリの最上部に追加します。
import 'intl';
import 'intl/locale-data/jsonp/en';
ヘッドアップ、これはimport 'intl';
が一番上にあり、react-intl
。次のバージョンを使用:
"intl": "^1.2.5",
"react-intl": "^2.2.2",