material-ui-pickers示例:TypeError:Object(...)不是函数

Bat*_*ers 3 javascript reactjs material-ui material-ui-pickers

我正在尝试使用一个裸项目并按照此处描述的安装和使用步骤来设置最基本的可能的材料UI选择器示例:https : //material-ui-pickers.dev/

我收到以下错误:

TypeError: Object(...) is not a function
Module../node_modules/@material-ui/pickers/dist/material-ui-pickers.esm.js
node_modules/@material-ui/pickers/dist/material-ui-pickers.esm.js:25
  22 | import Tab from '@material-ui/core/Tab';
  23 | import Tabs from '@material-ui/core/Tabs';
  24 | import Paper from '@material-ui/core/Paper';
> 25 | var useStyles = makeStyles(function (theme) {
  26 |   var textColor = theme.palette.type === 'light' ? theme.palette.primary.contrastText : theme.palette.getContrastText(theme.palette.background.default);
  27 |   return {
  28 |     toolbarTxt: {
Run Code Online (Sandbox Code Playgroud)

我遵循的步骤是:

create-react-app material-ui-pickers-demo
Run Code Online (Sandbox Code Playgroud)
yarn add @material-ui/core
Run Code Online (Sandbox Code Playgroud)
yarn add @material-ui/pickers
Run Code Online (Sandbox Code Playgroud)
yarn add @date-io/date-fns
Run Code Online (Sandbox Code Playgroud)
import React, { useState } from "react";
import DateFnsUtils from "@date-io/date-fns"; // choose your lib
import {
  DatePicker,
  TimePicker,
  DateTimePicker,
  MuiPickersUtilsProvider,
} from "@material-ui/pickers";

function App() {
  const [selectedDate, handleDateChange] = useState(new Date());

  return (
    <MuiPickersUtilsProvider utils={DateFnsUtils}>
      <DatePicker value={selectedDate} onChange={handleDateChange} />
      <TimePicker value={selectedDate} onChange={handleDateChange} />
      <DateTimePicker value={selectedDate} onChange={handleDateChange} />
    </MuiPickersUtilsProvider>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)
yarn start
Run Code Online (Sandbox Code Playgroud)

纱线版本为1.16.0节点版本为v12.1.0

编辑:我已经看到此问题,它不能回答我未捕获的TypeError:导入@ material-ui / pickers时,Object(...)不是函数

Iva*_*ong 11

原因是的版本错误@material-ui/core。目前@material-ui/pickers@material-ui/core@v4.0.0-beta.1适用于。@ material-ui / core beta 1和@ material-ui / pickers对于在项目中使用它们太原始了。因此,要解决您的问题,您需要执行以下步骤:

删除node_modules目录并运行yarn add @material-ui/core@v4.0.0-beta.1 ,最后运行@material-ui/pickers@3.0.0-beta.1 它应该可以修复该错误。