如何修复日期[]不能分配给类型[日期?、日期吗?在react hook中



我要做的是在日期范围上设置日期但是有一个错误

Type 'Date[]' is not assignable to type '[Date?, Date?]'.
Types of property 'length' are incompatible.
Type 'number' is not assignable to type '0 | 1 | 2'

代码:

const [ dateRange, setDateRange] = useState([new Date('2017-02-01'), new Date('2017-05-20')]);
<DateRangePicker
value={dateRange}
onChange={value => {
this.setState({ value });
console.log(value);
}} />

正确的方法是从rsuite

中导入valuetype。
import {ValueType} from "rsuite/lib/DateRangePicker";
然后在useState 中定义它
const [ dateRange, setDateRange] = useState<ValueType>([new Date('2017-02-01'), new Date('2017-05-20')])
<DateRangePicker
value={dateRange}
onChange={value => {
setDateRange(value);
}}
/>      

最简单但不是"right"用cast

this.setState({ value: value as [Date?, Date?]});

onChange={value:[Date, Date] => {
最好在onChange函数中使用输入值变量 创建[Date?, Date?]变量

最新更新