问题描述
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);
}} />
解决方法
最简单但不“正确”的方法只是制作演员
this.setState({ value: value as [Date?,Date?]});
或
onChange={value:[Date,Date] => {
最好使用输入值变量在 onChange 函数中创建 [Date?,Date?]
变量
正确的方法是从 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);
}}
/>