javascript - Material UI 表慢

标签 javascript reactjs material-ui

因此,我将 Material-UI 用于大型数据表,并意识到它的使用速度非常慢。在 Github 中创建问题之前,我想询问该框架的其他用户是否有解决方法可以提高性能。

这是我的代码:

<Table
    height='500'
    fixedHeader
    selectable
    multiSelectable
  >
      <TableHeader
        displaySelectAll
        adjustForCheckbox
        enableSelectAll
      >
        <TableRow>
          <TableHeaderColumn tooltip="Status">Status</TableHeaderColumn>
          <TableHeaderColumn tooltip="Name">Name</TableHeaderColumn>
          <TableHeaderColumn tooltip="Email">Email</TableHeaderColumn>
          <TableHeaderColumn tooltip="Phone No.">Phone No.</TableHeaderColumn>
          <TableHeaderColumn tooltip="Company">Company</TableHeaderColumn>
          <TableHeaderColumn tooltip="Skills">Skills</TableHeaderColumn>
        </TableRow>
      </TableHeader>
      <TableBody
        displayRowCheckbox
      >
        {filteredApplicants.map((applicant, index) => (
          <TableRow key={index} selected={applicant.selected}>
            <TableRowColumn><Status status={applicant.status} updateStatus={updateApplicantStatus}/></TableRowColumn>
            <TableRowColumn>{applicant.name}</TableRowColumn>
            <TableRowColumn>{applicant.email}</TableRowColumn>
            <TableRowColumn>{applicant.phone}</TableRowColumn>
            <TableRowColumn>{applicant.company}</TableRowColumn>
            <TableRowColumn><Skills skills={applicant.skills}/></TableRowColumn>
          </TableRow>
          ))}
      </TableBody>
    </Table>

最佳答案

您可能需要检查代码是否有任何不必要的渲染调用以及可能导致这些调用的不良做法:https://medium.com/@esamatti/react-js-pure-render-performance-anti-pattern-fb88c101332f#.dn0e5qhtw

至于表格渲染本身的性能我从来没有遇到过问题,但我总是渲染分页数据,如果你尝试渲染几千个项目可能会导致问题,我发现material-ui在性能和性能方面有几个缺点在必须更改组件的默认行为的情况下,如果找不到问题,那么您始终可以渲染一些自定义组件。

关于javascript - Material UI 表慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049039/

相关文章:

javascript - 使用 Material-UI 创建导航栏

javascript - 传递 props 给 makeStyles react

reactjs - 使用 React Router 2 进行单元测试路由匹配

reactjs - 如何强制选项卡适应 Material UI 中的小空间?

c# - 修改 JavaScript 中的字符串、日期和数字对象

javascript - 如何将类添加到传单标记?

javascript - 搜索每个网址时打开链接,然后关闭每个窗口并将网址添加到数组中

javascript - 当有多个 slider 时,如何使用 JavaScript 定位特定 slider

node.js - 端口打开但连接被拒绝...centos 8/nginx/react/nodejs

javascript - React 中的计时器问题