如何解决反应Datepicker RangeError:无效的时间值
我的日期选择器在尝试设置从API获得的选定日期值作为字符串值时抛出RangeError: Invalid time value
。
我的API日期字符串为12.09.2020
<DatePicker dateFormat="dd/MM/yyyy" selected={currentFuelPrice.date_of_sale} onChange={date => setStartDate(date)} />
react 2.0版本后,datepicker将不支持日期作为字符串,它表示使用date-fns parseiso ...
import { parseISO } from 'date-fns';
currentFuelPrice.date_of_sale = parseISO(response.data.date_of_sale,1);
添加parseISO之后,我仍然收到错误RangeError: Invalid time value
解决方法
您可以使用解析方法来实现您的目标。它接受日期字符串,格式和参考日期。在这里您可以这样使用:
Codesandbox:https://codesandbox.io/s/heuristic-feynman-k75i4?file=/src/App.js:0-639
import React,{ useState } from "react";
import "./styles.css";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { parse } from "date-fns";
export default function App() {
const [startDate,setStartDate] = useState(new Date());
return (
<div className="App">
<DatePicker
dateFormat="dd/MM/yyyy"
selected={startDate}
onChange={(date) => setStartDate(date)}
/>
<button
onClick={() =>
setStartDate(parse("12.09.2020","dd.MM.yyyy",new Date()))
}
>
Set Api DATE
</button>
</div>
);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。