尝试导入错误:“addLocaleData”未从“react-intl”导出

Posted

技术标签:

【中文标题】尝试导入错误:“addLocaleData”未从“react-intl”导出【英文标题】:Attempted import error: 'addLocaleData' is not exported from 'react-intl' 【发布时间】:2019-12-19 18:17:11 【问题描述】:

尝试此代码时返回错误

react-intl 版本 3.1.6 && 反应版本 16.9

import  IntlProvider, FormattedMessage , addLocaleData from 'react-intl';

【问题讨论】:

【参考方案1】:

我仍在调查,但似乎 addLocaleData 已作为 v3 的重大更改而被删除。

https://formatjs.io/docs/react-intl/upgrade-guide-3x

这对我来说也有点困惑,因为那里的许多教程和指南仍然使用 addLocaleData。

【讨论】:

嗨,Brian,有没有运气发现有关 addLocaleData 被删除的更多信息? 嘿,为什么 addLocaleData 写在我原始帖子中链接的升级指南中的原因。 链接现在已断开。新链接(2020-09-17):formatjs.io/docs/react-intl/upgrade-guide-3x【参考方案2】:

历史背景是 react-intlIntl.PluralRules & Intl.RelativeTimeFormat 不存在时被写回。快进到现在,Intl.PluralRules 正式在 Intl JS 规范中,Intl.RelativeTimeFormat 处于第 3 阶段,因此我们已将 locale-data 策略更改为 polyfill,而不是在没有这些 API 的浏览器上。

【讨论】:

【参考方案3】:

可能不是理想的解决方案,但将 react-intl 降级为 ^2.8.0 是一种快速简便的选择。

【讨论】:

以上是关于尝试导入错误:“addLocaleData”未从“react-intl”导出的主要内容,如果未能解决你的问题,请参考以下文章

为啥我会收到“尝试导入错误:'EffectCards' 未从 'swiper' 导出”?

尝试导入错误:“useRouteMatch”未从“react-router-dom”导出

尝试导入错误:“createGlobalStyle”未从“样式组件”导出

尝试导入错误:“app”未从“firebase/app”导出(导入为“firebase”)

尝试导入错误:“shouldUseActivityState”未从“react-native-screens”导出

尝试导入错误:“Switch”未从“react-router-dom”导出