React Native 小技
moment.locale 沒作用怎麼辦⋯⋯
2 min readJan 25, 2018
紀錄一些開發上遇到的雞毛蒜皮,因為需要一點時間找就乾脆寫下來吧!
這次的主角是大家都很愛用(?)的 moment.js,想要用一些方便的功能像是 .format() 或者 .fromNow(),如果 React Native 的專案又使用到多國語系時就會遇到⋯⋯
import moment from 'moment';moment.locale('zh-tw');moment(Date.now()).format('YYYY/MM/DD A hh:mm'); // 怎麼還是英文...?
猜測應該是 moment 並不支援 react native 環境的 bundler 去動態加載 locale 檔案。
moment.js 官方文件沒有很明確提到 React Native 的做法,目前找到的一個 workaround 是改 import:
import moment from 'moment/min/moment-with-locales';moment.locale('zh-tw');moment(Date.now()).format('YYYY/MM/DD A hh:mm'); // 2018/01/25 中午 12:04
缺點是 import 可能用不到的 locale 檔案,不過如果以後會很多國語系的話也無不可,建議可以先這樣做。
不知道有沒有人知道更好的做法?歡迎指教我這個新手 XD
參考來源:stackoverflow