reactjs - 使用 react-intl v2 加载包时出现 React-intl v5 错误
问题描述
我有一个带有 的 React 应用程序react-intl v2
,我想将它迁移到v5
. 在我们的node_modules
文件夹中,我们有一个包含react-intl v2
.
我升级了 React App 以使用react-intl v5
它,它工作正常(整个 App 用 包裹IntlProvider
)。问题是何时使用此依赖包。我得到一个:
Uncaught Invariant Violation: [React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry.
at invariant (webpack-internal:///./node_modules/invariant/browser.js:40:15)
at invariantIntlContext (webpack-internal:///./node_modules/some-library/dependency-package/node_modules/react-intl/lib/index.es.js:731:52)
at new InjectIntl(DateTimeFormat) (webpack-internal:///./node_modules/some-library/dependency-packageg/node_modules/react-intl/lib/index.es.js:813:7)
我像往常一样使用import
. 我webpack
用于捆绑。既然是外部包,就应该在渲染前编译,也就是说,依赖包版本低也无所谓吧?我应该只获取 HTML,而我的 React App 只是呈现它。
解决方案
在 webpack 中,您应该强制将 react-intl 解析为 v5
推荐阅读
- openlayers - Openlayers - 避免和调整重叠的多边形
- google-apps-script - 更改特定单元格时触发脚本编辑器(Google 表格)
- python - 获取异常“没有名为'airflow.providers.sftp'的模块”
- android - 在 MP4parser 中附加视频时无法合并 VisualSampleEntry 错误
- kivy - 如何在树莓派上使用 buildozer?
- javascript - SelectPicker 添加选项动态取决于输入值
- azure - 使用 ansible playbook 更新 azure windows vm 中的磁盘存储类型
- php - HTML/PHP 输入文件不传递现场拍摄的照片(手机)
- reactjs - 当应用程序在运行时使用组件加载器时如何应用 tree-shaking (webpack)?
- django - 自定义分页在 Django rest 的 apiview 中不工作