React Native ExpoのAndroid版アプリでJavaScript Intlを使う際に起きたエラー
React Native Expo アプリの多言語・多通貨対応に JavaScript ライブラリ Intl を利用しています。iOS 版はすんなり動いたのですが、Android 版では 2 つのエラー対応が必要でした。発生したエラーと対応についてまとめます。
修正自体は簡単で、現在は iOS 版・Android 版ともブランチを分けることなくソース管理できています。
目次
Can't find variable: Intl
iOS 版では問題なく動いたコードなのですが、Android 版ではエラーCan't find variable: Intl
が発生しました。import "intl"
を App.tsx の一番最初の方に書いてあげないとエラーになるようです。
SDK 36 Problem with Intl after upgrade · Issue #6536 · expo/expo · GitHub
No locale data has been provided
同じく iOS 版では問題なく動いたコードなのですが、Android 版では使用するロケールに対応した import を書いてあげないとエラーNo locale data has been provided
が起きました。
import "intl/locale-data/jsonp/ja-JP";
import "intl/locale-data/jsonp/en-US";
javascript - “No locale data has been provided” regardless of what is passed in - Stack Overflow
インポートを追加しても、iOS 版は特に変わりなく動いています。
Amazon欲しいものリスト
私が作業中に飲んでいるコーヒーや欲しいマンガなどを集めました。開発・執筆の励みになりますのでクリックして頂ければ幸いです。
<Amazon欲しいものリスト>