I'm using Elastic UI component Dual range:
const [yearRangeVal, setYearRangeVal] = useState([1974, 2007]);
const onYearRangeChange = (value: <number[]>) => {
setYearRangeVal(value);
};
<EuiDualRange
min={1974}
max={2007}
showTicks
tickInterval={10}
onChange={onYearRangeChange}
value={yearRangeVal}
/>
And getting this error in VSCode:
No overload matches this call. Overload 2 of 2, '(props: EuiDualRangeProps, context: any): EuiDualRange', gave the following error. Type '(value: <number[]>) => void' is not assignable to type '(values: [ReactText, ReactText], isValid: boolean, event: ChangeEvent | MouseEvent<HTMLButtonElement, MouseEvent> | KeyboardEvent<...>) => void'. Overload 2 of 2, '(props: EuiDualRangeProps, context: any): EuiDualRange', gave the following error. Type 'number[]' is not assignable to type '[ReactText, ReactText]'.
This code is from Elastic UI library (see ValueMember variable):
type ValueMember = number | string;
export interface EuiDualRangeProps extends Omit<EuiRangeSliderProps, 'onChange' | 'onBlur' | 'onFocus' | 'value'> {
value: [ValueMember, ValueMember];
onBlur?: (event: React.FocusEvent<HTMLInputElement> | React.FocusEvent<HTMLDivElement>) => void;
onFocus?: (event: React.FocusEvent<HTMLInputElement> | React.FocusEvent<HTMLDivElement>) => void;
onChange: (values: [ValueMember, ValueMember], isValid: boolean, event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLInputElement>) => void;
Just can't unerstand what is ReactText ((JSX attribute) value: [React.ReactText, React.ReactText]) and why my types are not ok.