我有一个带有react-intl v2的React应用程序,我想把它迁移到v5。在我们的node_modules文件夹中,我们有一个包含react-intl v2的包的依赖项。
我升级了React应用程序以使用react-intl v5,它工作得很好(整个应用程序都用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应用程序就会呈现它。
发布于 2021-03-15 09:11:36
在webpack中,您应该强制将react-intl解析为v5
https://stackoverflow.com/questions/65828031
复制相似问题