При попытке передать в компонент Select все остальные props - { ...props } - props Options начинает подсвечиваться ошибкой:
Type 'OptionType[]' is not assignable to type 'readonly (string | number | GroupBase)[]'.
Type 'OptionType' is not assignable to type 'string | number | GroupBase'.
Property 'options' is missing in type 'OptionType' but required in type 'GroupBase'.
если не пытаюсь делать спред пропсов в Select, то все ок, options передается без ошибок. Возможно я неправильно расширяя интерфейс ISelectProp от наивного элемента select? И как при такой записи передать ref в компонент Select?
import React from 'react';
import Select from 'react-select';
export type OptionType = {
value: string;
label: string;
};
interface ISelectProps extends React.ComponentPropsWithRef<'select'> {
caption?: string;
options?: OptionType[];
className?: string;
}
export const DefaultSelect = React.forwardRef<HTMLSelectElement, ISelectProps>(
({
options = [],
placeholder = 'Выберите марку',
disabled,
...props
}, ref
) => {
return (
<Select
options={options}
placeholder={placeholder}
isDisabled={disabled}
noOptionsMessage={() => 'Нет совпадений'}
{...props}
/>
);
},
);
DefaultSelect.displayName = 'Select';