im是React钩子的新功能,我尝试将react-datepicker从类转换为带有钩子的函数。 问题是当我触发onChange时将显示(RangeError:无效的时间值),但是默认的“ selected”开始日期很好。可以用钩子做到吗?
import React, { useState, Fragment } from 'react';
import Datepicker from 'react-datepicker';
const Example = () => {
const [startDate, setStartDate] = useState(new Date());
const handleChange = date => {
setStartDate({ startDate: date });
}
return (
<Fragment>
<Datepicker
selected={startDate}
onChange={handleChange}
/>
</Fragment>
)
}
export default Example;
我希望startDate状态更改为没有“ RangeError:无效的时间值”。
答案 0 :(得分:2)
问题在于您不是要在状态中插入日期,而是在对象中插入日期。
更改:
setStartDate({ startDate: date });
收件人:
setStartDate(date);