为什么它向我显示"Argument of type 'string' is not assignable to parameter of type 'SetStateAction'"错误?


export interface IFormSelect<
T extends FieldValues,
U extends IOption = IOption,
V = any
> {
control: Control<T, any>;
name: keyof T;
defaultValue?: string;
placeholder?: string;
options: U[];
formatOptions?: (data: U, formatOptionLabelMeta: FormatOptionLabelMeta<U>) => ReactNode;
setValue?: Dispatch<SetStateAction<V>>;
}
const FormSelect = <T extends IOption = IOption, U = any>({
control,
defaultValue,
name,
options,
placeholder,
formatOptions,
setValue
}: IFormSelect<IOrderForm, T, U>) => {
return (
<div className='w-96 z-[41]'>
<Controller
control={control}
name={name}
defaultValue={defaultValue}
render={({ field: { value, onChange, ref } }) => (
<Select
ref={ref}
options={options}
value={options.filter(option => typeof value === 'string' && value.includes(option.value))}
onChange={(val) => {
onChange(val?.value);
if (setValue && val?.value) setValue('hello');
}}
placeholder={placeholder}
formatOptionLabel={formatOptions}
/>
)}
/>
</div>
);
};

在";如果(setValue?.value(setValue('hello'(";它不断地向我抛出错误,我真的不明白为什么。因为我指定了setState可以接受接口中的任何参数,但它仍然表示存在错误。我需要做什么来解决这个问题,最重要的是错误的原因是什么?

接口包含setValue?: Dispatch<SetStateAction<V>>;

在我的代码中,我有

setValue('hello')

但是hello是字符串,而在接口中,参数类型是Dispatch<SetStateAction<V>> | undefined

附言:我是个初学者,可能是错了:(

相关内容

  • 没有找到相关文章

最新更新