Таблица материалов: TypeError: Object (...) не является функциональным модулем ../ node_modules/@material-ui/pickers/dist/material-ui-pickers.esm.js - PullRequest
2 голосов
/ 21 июня 2019

Я пытаюсь установить таблицу материалов для своего приложения React, но когда я пытаюсь пример кода (https://github.com/mbrn/material-table), но я получаю сообщение об ошибке из файла модуля.

Я пытался обновить material-ui на версии 5.8.0.

код из документа:

import React, { Component } from "react";
import ReactDOM from "react-dom";
import MaterialTable from "material-table";


class App extends Component {
  render() {
    return (
      <div style={{ maxWidth: "100%" }}>
        <MaterialTable
          columns={[
            { title: "Adı", field: "name" },
            { title: "Soyadı", field: "surname" },
            { title: "Doğum Yılı", field: "birthYear", type: "numeric" },
            {
              title: "Doğum Yeri",
              field: "birthCity",
              lookup: { 34: "İstanbul", 63: "Şanlıurfa" }
            }
          ]}
          data={[
            { name: "Mehmet", surname: "Baran", birthYear: 1987, birthCity: 63 }
          ]}
          title="Demo Title"
        />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("react-div"));

Сообщение об ошибке:

TypeError: Object(...) is not a function
Module../node_modules/@material-ui/pickers/dist/material-ui-pickers.esm.js
39859 |   return utils;
39860 | }
39861 | 
> 39862 | var useStyles =Object(_material_ui_core_styles__WEBPACK_IMPORTED_MODULE_5__["makeStyles"])(function (theme) {                                                                                39863 |   var textColor = theme.palette.type === 'light' ? theme.palette.primary.contrastText : theme.palette.getContrastText(theme.palette.background.default);
39864 |   return {                                                           
39865 |     toolbarTxt: {

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Это может произойти, потому что ваша версия material-table несовместима с версией material-ui. Например, взгляните на этот пример: https://codesandbox.io/s/material-ui-material-table-versioning-issue-oeqij

@material-ui/core версия 3.9.3 material-table версия 1.39.2

Произошла такая же ошибка: makeStyles is not a function

Но если вы повысите версию @material-ui/core до версии 4.1.2. (самой последней на данный момент), ошибка исчезнет. По крайней мере, это то, что мне помогло. Мне также пришлось обновить material-ui-pickers до @material-ui/pickers (новое имя, последняя версия, чтобы избежать использования старого material-ui в качестве зависимости)

1 голос
/ 23 июня 2019

Должно работать следующее:

const MaterialTable = require("material-table");
...