Reactjs 物料Ui日期选择器出现错误:应为字符串
我正在尝试使用材质UI的日期选择器在React项目中实现日期选择器。我最初试着按照网站上说的做。在这不起作用之后,我尝试了一种更简单的方法,并尝试了网站所说的。这两种方法都会产生以下错误:Reactjs 物料Ui日期选择器出现错误:应为字符串,reactjs,material-ui,Reactjs,Material Ui,我正在尝试使用材质UI的日期选择器在React项目中实现日期选择器。我最初试着按照网站上说的做。在这不起作用之后,我尝试了一种更简单的方法,并尝试了网站所说的。这两种方法都会产生以下错误: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot t
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of `AddScreen`.
My CodeSandbox链接:(Datepicker在/Screens/AddScreen.js中实现)您的代码中有两个问题:
"@date-io/date-fns": "v1",
"@material-ui/core": "latest",
"@material-ui/icons": "latest",
"@material-ui/pickers": "latest",
KeyboardTimePicker
,您还需要提供不存在的MuiPickersUtilsProvider
import "date-fns";
import React from "react";
import Grid from "@material-ui/core/Grid";
import DateFnsUtils from "@date-io/date-fns";
import {
MuiPickersUtilsProvider,
KeyboardTimePicker,
KeyboardDatePicker
} from "@material-ui/pickers";
export default function MaterialUIPickers() {
// The first commit of Material-UI
const [selectedDate, setSelectedDate] = React.useState(
new Date("2014-08-18T21:11:54")
);
const handleDateChange = (date) => {
setSelectedDate(date);
};
return (
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<Grid container justify="space-around">
<KeyboardDatePicker
disableToolbar
variant="inline"
format="MM/dd/yyyy"
margin="normal"
id="date-picker-inline"
label="Date picker inline"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change date"
}}
/>
<KeyboardDatePicker
margin="normal"
id="date-picker-dialog"
label="Date picker dialog"
format="MM/dd/yyyy"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change date"
}}
/>
<KeyboardTimePicker
margin="normal"
id="time-picker"
label="Time picker"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change time"
}}
/>
</Grid>
</MuiPickersUtilsProvider>
);
}
导入“日期fns”;
从“React”导入React;
从“@material ui/core/Grid”导入网格;
从“@date io/date fns”导入DateFnsUtils;
进口{
MuiPickersUtilsProvider,
键盘时间选择器,
键盘日期选择器
}来自“@物料界面/选择器”;
导出默认函数MaterialUIPackers(){
//物料界面的第一次提交
常量[selectedDate,setSelectedDate]=React.useState(
新日期(“2014-08-18T21:11:54”)
);
const handleDateChange=(日期)=>{
设置选定日期(日期);
};
返回(
);
}
下面是正在运行的演示:您的代码中有两个问题:
"@date-io/date-fns": "v1",
"@material-ui/core": "latest",
"@material-ui/icons": "latest",
"@material-ui/pickers": "latest",
KeyboardTimePicker
,您还需要提供不存在的MuiPickersUtilsProvider
import "date-fns";
import React from "react";
import Grid from "@material-ui/core/Grid";
import DateFnsUtils from "@date-io/date-fns";
import {
MuiPickersUtilsProvider,
KeyboardTimePicker,
KeyboardDatePicker
} from "@material-ui/pickers";
export default function MaterialUIPickers() {
// The first commit of Material-UI
const [selectedDate, setSelectedDate] = React.useState(
new Date("2014-08-18T21:11:54")
);
const handleDateChange = (date) => {
setSelectedDate(date);
};
return (
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<Grid container justify="space-around">
<KeyboardDatePicker
disableToolbar
variant="inline"
format="MM/dd/yyyy"
margin="normal"
id="date-picker-inline"
label="Date picker inline"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change date"
}}
/>
<KeyboardDatePicker
margin="normal"
id="date-picker-dialog"
label="Date picker dialog"
format="MM/dd/yyyy"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change date"
}}
/>
<KeyboardTimePicker
margin="normal"
id="time-picker"
label="Time picker"
value={selectedDate}
onChange={handleDateChange}
KeyboardButtonProps={{
"aria-label": "change time"
}}
/>
</Grid>
</MuiPickersUtilsProvider>
);
}
导入“日期fns”;
从“React”导入React;
从“@material ui/core/Grid”导入网格;
从“@date io/date fns”导入DateFnsUtils;
进口{
MuiPickersUtilsProvider,
键盘时间选择器,
键盘日期选择器
}来自“@物料界面/选择器”;
导出默认函数MaterialUIPackers(){
//物料界面的第一次提交
常量[selectedDate,setSelectedDate]=React.useState(
新日期(“2014-08-18T21:11:54”)
);
const handleDateChange=(日期)=>{
设置选定日期(日期);
};
返回(
);
}
以下是工作演示: