材质 UI 列表组件不显示

时间:2021-07-29 20:08:56

标签: javascript reactjs list material-ui

我想在移动视图的下拉菜单(一个 Material UI 抽屉组件)中显示一个 Material UI 列表,但由于某种原因,实际列表没有显示。

列表的代码如下所示:

const menuItems = [
    {
       text: 'Home',
       path: '/'
    },
    {
       text: 'About',
       path: '/about'
    }
];

...

<List>
    {menuItems.map(item => (
        <ListItem
             button
             key={item.text}
             onClick={() => history.push(item.path)}
        >
             <ListItemText>{item.text}</ListItemText>
        </ListItem>
    ))}
</List>

这是应该显示我的列表项的结果,但我得到了这个奇怪的图标:

Result

enter image description here

这是我的 package.json 文件:

{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^4.12.1",
    "@material-ui/icons": "^4.11.2",
    "@material-ui/styles": "^4.11.4",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "firebase": "^8.7.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router": "^5.2.0",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.3",
    "react-timeago": "^6.2.1",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

--

编辑:

Here 是一个有效的 CodeSandbox 示例

2 个答案:

答案 0 :(得分:1)

错误在于导入。

正确:

import List from "@material-ui/core/List";

答案 1 :(得分:1)

您从 List 导入了 "@material-ui/icons/List"。您应该删除它并从 List 导入 "@material-ui/core"

import { List } from "@material-ui/core";

Edit floral-snowflake-ub04r