我在我的react应用中使用DatePicker。我通过location.state将一个包含日期字段的对象从一个组件传递到另一个组件。这是一个编辑组件,我可以在其中更改这些字段的值。但是控制台使用无效的时间异常进行宣誓。我读到我应该对parseISO做些什么,但它仍然什么也不做。如何正确使用它?(设置是一个this.state字段)
...
import DatePicker from 'react-datepicker'
import 'react-datepicker/dist/react-datepicker.css'
import { parseISO, format } from 'date-fns'
...
<DatePicker
name="saleDateFrom"
selected={parseISO(settings.saleDateFrom)}
onChange={this.handleChangeFrom}
dateFormat="MMMM dd, yyyy hh:mm:ss aa"
/>
发布于 2020-02-14 15:11:30
您可以使用Date.parse(settings.saleDateFrom)
来获取自纪元以来的时间。
如果你需要它作为一个数据对象。
new Date(Date.parse(settings.saleDateFrom))
发布于 2020-02-14 16:52:22
<DatePicker
name="saleDateFrom"
selected={new Date(settings.saleDateFrom)}
onChange={this.handleChangeFrom}
dateFormat="MMMM dd, yyyy hh:mm:ss aa"
/>
这会解决你的问题。react-datepicker期望date作为javascript Date对象
https://stackoverflow.com/questions/60228828
复制