首页 > 解决方案 > 如何修复日期 [] 不可分配给在反应钩子中键入 [日期?,日期?]

问题描述

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

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);
                    }} />

标签: javascriptreactjstypescriptnext.jsrsuite

解决方案


最简单但不是“正确”的方式只是制作演员

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

或者

onChange={value:[Date, Date] => {

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


推荐阅读