Reactjs React Datepicker RangeError:时间值无效

Reactjs React Datepicker RangeError:时间值无效,reactjs,react-datepicker,Reactjs,React Datepicker,我的日期选择器在尝试将从API获取的选定日期值设置为字符串值时抛出RangeError:Invalid time value 我的API日期字符串是12.09.2020 <DatePicker dateFormat="dd/MM/yyyy" selected={currentFuelPrice.date_of_sale} onChange={date => setStartDate(date)} /> 添加parseISO后,我仍然得到错误RangeErr

我的日期选择器在尝试将从API获取的选定日期值设置为字符串值时抛出
RangeError:Invalid time value

我的API日期字符串是
12.09.2020

<DatePicker dateFormat="dd/MM/yyyy" selected={currentFuelPrice.date_of_sale} onChange={date => setStartDate(date)} />

添加parseISO后,我仍然得到错误
RangeError:Invalid time value

您可以使用parse方法来实现您的目标。它接受日期字符串、格式和引用日期。在这里,您可以这样使用:

代码沙盒:

import React,{useState}来自“React”;
导入“/styles.css”;
从“反应日期选择器”导入日期选择器;
导入“react datepicker/dist/react datepicker.css”;
从“日期fns”导入{parse};
导出默认函数App(){
const[startDate,setStartDate]=useState(新日期());
返回(
设置开始日期(日期)}
/>
设置开始日期(解析(“2020年9月12日”,“yyyy年月日”,新日期())
}
>
设置Api日期
);
}

您使用的是哪个版本?您使用的是哪个版本的DatePicker?react version 16.13.1datepicker 3.1.3did是否执行此操作:selected={Date.parse('12/09/2020')}?它工作得很好。添加解析方法后..我的错误是没有将startdate作为所选值添加到datepicker中。。
import { parseISO } from 'date-fns'; 

currentFuelPrice.date_of_sale = parseISO(response.data.date_of_sale, 1);
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>
  );
}