{错误:[React Intl Error MISSING_DATA]缺少语言环境的语言环境数据:Intl.NumberFormat中的“ th”

时间:2020-06-26 06:53:36

标签: react-intl

我已经检查了此来源https://formatjs.io/docs/react-intl#runtime-requirements,并尝试添加此代码

import { NumberFormat } from '@formatjs/intl-numberformat'

NumberFormat.__addLocaleData(
  require('@formatjs/intl-numberformat/dist/locale-data/en.json') // locale-data for en
)

NumberFormat.__addLocaleData(
  require('@formatjs/intl-numberformat/dist/locale-data/th.json') // locale-data for th
)

但这没有帮助,我还添加了defaultLocale param:

<IntlProvider defaultLocale={locale}></IntlProvider>

到intl provider,但这也无济于事。我有2种语言,对于en语言,我不会收到此错误,仅对于th语言,应该怎么办?

2 个答案:

答案 0 :(得分:0)

尝试升级您的节点版本。我有 10 个并移动到 14.x:问题消失了

答案 1 :(得分:0)

问题在于正在使用的对象。

检查翻译内容的对象结构。

IntlProvider 应该有 messages 属性,其值应该是一个对象,其中包含 idFormattedMessage 中提到的属性