Postion Prop导致多个材质UI AppBar CSS冲突



我的应用程序中有两个Material UI AppBar。第一个应用程序栏是页面布局的一部分,并首先出现。然而,每当第二个出现时,它都会向页面添加一个额外的样式标记,这会扰乱第一个AppBar,从而扰乱页面。第二个AppBar是:

<AppBar position="static" color="default>

它添加的CSS是这样的:

<style data-jss data-meta="MuiAppBar>...</style>

现在,标头中已经有一个样式元素具有相同的CSS规则,这些规则被它覆盖。我尝试过使用withStyle和className,并将位置道具作为CSS来隔离第二个AppBar的CSS规则,但没有用,因为道具的问题。处理此问题的标准方法是什么?谢谢

编辑1:在重新访问使用AppBar的两个组件时,我意识到了一些东西。其中一个是这样导入的:

import AppBar from '@material-ui/core/AppBar/index'

另一个:

import AppBar from '@material-ui/core/AppBar'

当我从第一个中删除'/index'时,它得到了修复。有人能解释一下这里发生了什么吗?谢谢

import AppBar from '@material-ui/core/AppBar'是导入组件的正确方法。

发件人https://material-ui.com/guides/minimizing-bundle-size/#option-1

请注意,我们只支持一级和二级导入。任何更深层次的东西都被认为是私有的,可能会导致问题,例如捆绑包中的模块重复。

添加/index会将其转换为第三级导入,并导致模块重复,从而导致样式重复。

最新更新