我们在项目中使用Material UI,但有许多组件在几个项目之间共享,因为我正在创建一个React组件库来共享它们。
但当我从库中导入组件时,我收到了关于@material-ui/styles
:的警告
It looks like there are several instances of `@material-ui/styles` initialized in this application.
This may cause theme propagation issues, broken class names, specificity issues, and makes your application bigger without a good reason.
我已经通过npm ls @material-ui/styles
检查过,只有一个版本。
但是,即使我在peerDependencies
中添加了@material-ui/core, @material-ui/styles
,这个问题仍然存在。
我该怎么解决这个问题?
来自物料UI文档:
可能的原因
发生这种情况有几个常见的原因:
- 您的依赖项中有另一个@material-ui/styles库
- 您的项目有一个monoreo结构(例如,lerna、yarn workspaces(,@material-ui/styles模块是多个包中的依赖项(这个包或多或少与上一个包相同(
- 您有几个使用@material-ui/styles的应用程序在同一页面上运行(例如,webpack中的几个入口点加载在同一页上(
正如@Code Apprentice所说,一个或多个库正在使用@material-ui/styles(我敢打赌这是react bootstrap(。这似乎并没有什么害处,但修复它的一种方法是删除使用@materialui/styles的依赖项。