添加带有材质表的组件会更改 Material-UI AppBar 样式

IT技术 reactjs material-ui material-table
2021-05-16 22:58:23

我的应用程序使用 Material-UI 和material-table使用“ThemeProvider”在“index.js”文件中应用一个全局主题,作为一个孩子,然后有孩子:

<Fragment>
    <CssBaseline />
    <MenuAppBar />
    <main className={classes.main}>
      <Route path="/" exact component={Home} />
      <Route path="/login" component={Login}></Route>
    </main>
</Fragment>

然后该组件具有带有材料表的组件。当我添加表格组件并查看该页面时,AppBar 会丢失一些样式,例如 Pofile 和 Logout 下拉按钮中的背景颜色和对齐方式(https://material-ui.com/components/app-bar/#带有菜单的应用栏)。我很困惑为什么会发生这种情况。

深入研究 CSS,在更改 AppBar 样式的页面上,我看到它.MuiPaper-root是之前导入的.MuiAppBar-colorPrimary,因此覆盖了样式,但仍然不确定为什么添加带有“材料表”的组件会导致这种情况发生。

我的应用程序依赖项是:

"dependencies": {
    "@material-ui/core": "^4.2.1",
    "@material-ui/icons": "^4.2.1",
    "axios": "^0.19.0",
    "jwt-decode": "^2.2.0",
    "material-table": "^1.40.1",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-router": "^5.0.1",
    "react-router-dom": "^5.0.1",
    "react-scripts": "3.0.1",
    "react-svg": "^10.0.11"
  },

我还看到“material-table”列出了“material-ui/core”的两个不同版本,但不确定如何解决。

"material-table": {
      "version": "1.40.1",
      "resolved": "https://registry.npmjs.org/material-table/-/material-table-1.40.1.tgz",
      "integrity": "sha512-rZuGhNpXFzROlqJUVLH+E5yzt9MxaYVZfDNuHWtM9EWlbUGQJWuGQNcsSmdr0XeTCZkQvVnZYbEkRcUu+71rfQ==",
      "requires": {
        "@date-io/date-fns": "^1.1.0",
        "@material-ui/core": "^4.0.1",
        "@material-ui/pickers": "^3.0.0",
        "classnames": "^2.2.6",
        "date-fns": "^2.0.0-alpha.27",
        "debounce": "^1.2.0",
        "filefy": "0.1.9",
        "prop-types": "^15.6.2",
        "react-beautiful-dnd": "11.0.3",
        "react-double-scrollbar": "0.0.15"
      },
      "dependencies": {
        "@material-ui/core": {
          "version": "4.2.1",
    ...
1个回答

通过查找其他一些帖子12,我尝试将我的 material-ui/core 和 material-ui/icons 版本降级到 4.0.1 版(与 material-table 使用的相同)并且有效。

欲知详情:

npm uninstall @material-ui/core
npm uninstall @material-ui/icons

npm install @material-ui/core@4.0.1
npm install @material-ui/icons@4.0.1