>我正在尝试使用 SingleDatePicker 在数据库中编辑/添加事件。我可以在此日历年之外创建一个新事件,但是当我编辑 2019 年之后的任何事件时,我的 SingleDatePicker 中出现"无效日期",单击时我的网站崩溃并给出错误"未捕获的类型错误:month
必须是有效的时刻对象"。我正在使用momentjs。值得注意的是,所有日期都以完全相同的格式从我的 API 传递,并且我只在 2019 年之后的日期遇到此问题。当日期在 2019 年之后时,我收到错误"警告:失败的道具类型:提供给SingleDatePicker
的object
类型的道具date
无效,预期Moment
。我正在使用时刻,所以我不明白这个错误。
我没有找到此问题的文档。
`componentWillReceiveProps() {
if (this.props.date !== null) {
let newDate = moment(this.props.date, "ddd, MMM DD yyyy HH:mm:ss
Z");
this.setState({ date: newDate });
}
....
....
....
....
<SingleDatePicker
date={this.state.date}
isOutsideRange={() => false}
onDateChange={date => this.setState({ date })} /
focused={this.state.focused}
onFocusChange={({ focused }) => this.setState({
focused })}
id="selectedDate" ,
/>`
我做了一个为我解决的解决方法。当日期为空时(就像在我们的例子中一样),您可以将其设置为今天的日期,如下所示:
onDateChange={date => this.setState({ date || moment().format('YYYY-MM-DD') })}