Ошибка машинописного текста при использовании response-daterange-picker «Нет перегрузки, соответствующей этому вызову».
Когда я пытаюсь использовать <tcode id="302384"></tcode> в моем приложении React Typescript я получаю сообщение об ошибке
No overload matches this call.
Overload 1 of 2, '(props: RangeProps<DateRangePicker> | SingleProps<DateRangePicker> | Readonly<RangeProps<DateRangePicker>> | Readonly<...>): DateRangePicker', gave the following error.
Type 'Date[]' is not assignable to type 'Moment | (MomentRange & typeof import("/Users/nyxynyx/test/node_modules/moment/ts3.1-typings/moment.d.ts")) | DateRange | undefined'.
Type 'Date[]' is missing the following properties from type 'Moment': format, startOf, endOf, add, and 80 more.
Overload 2 of 2, '(props: Props<DateRangePicker>, context: any): DateRangePicker', gave the following error.
Type 'Date[]' is not assignable to type 'Moment | (MomentRange & typeof import("/Users/nyxynyx/test/node_modules/moment/ts3.1-typings/moment.d.ts")) | DateRange | undefined'.
Type 'Date[]' is not assignable to type 'Moment'. TS2769
20 | <DateRangePicker
21 | onChange={onChange}
> 22 | value={value}
| ^
23 | />
24 | )
25 | }
Мой код основан на официальном примере в репозитории пакетов .
Почему здесь ошибка Typescript и как ее исправить?
Реагировать на код Typescript:
import React, { useState } from 'react';
import DateRangePicker from 'react-daterange-picker';
export function Foo(): JSX.Element {
const [ value, onChange ] = useState([new Date(), new Date()]);
return (
<DateRangePicker
onChange={onChange}
value={value}
/>
)
}
3 ответа
Одна строка, которую вы изменили из примера, была import.
import DateRangePicker from 'react-daterange-picker';
Эта строка не импортирует модуль, на который вы указали в своем вопросе. Этот импорт <tcode id="302388"></tcode>, но вы связались с . Это два совершенно разных модуля.
Вместо этого установите
@wojtekmaj/react-daterange-picker
и это типы пакета
@types/wojtekmaj__react-datetimerange-picker
. Тогда все должно работать так, как вы ожидаете.
измените свою строку импорта
import DateRangePicker from 'react-daterange-picker';
к
import DateRangePicker from '@wojtekmaj/react-daterange-picker';
Если пакет не установлен, то:
npm install @wojtekmaj/react-daterange-picker
Надеюсь, что это поможет вам. Спасибо.
Я добавил определение типа в
@types
. Вы можете установить его, выполнив
npm install --save @types/wojtekmaj__react-daterange-picke