我正在尝试利用react-select
以下代码:
import React, {useState} from 'react';
import LanguageChange from '../../../Icons/LanguageChange';
import Select, { ValueType } from 'react-select';
type OptionType = {
value: string;
label: string;
};
export const LanguageSelector = () => {
const languageOptions: OptionType[] = [
{ value: 'English', label: 'EN' },
{ value: 'German', label: 'DE' },
{ value: 'French', label: 'FR' },
];
const [selectedOption, setSelectedOption] = useState<ValueType<OptionType>>(languageOptions[0]);
const handleChange = (option: ValueType<OptionType>) => {
setSelectedOption(option);
};
return (
<LanguageChange>
<Select
value={selectedOption}
onChange={setSelectedOption}
options={languageOptions}
/>
</LanguageChange>
)
}
但是我一直收到以下错误:(别名)类型ValueType <OptionType扩展了OptionTypeBase,IsMulti扩展了布尔值> = IsMulti扩展了true吗?OptionsType:OptionType | null import ValueType通用类型'ValueType'需要2个类型参数.ts(2314)
知道我在这里缺少什么吗?
ValueType
需要两个泛型:OptionType
您提供的泛型或IsMulti
为true
或false
。IsMulti
确定是否为数组。如果有一个OptionType
with {value: string}
,则ValueType
如果为单选,则应该为,string[]
而对于单选则为string
。
在您的情况下,您只有一个选择项,因此可以使用ValueType<OptionType, false>
。但是您也可以只使用它,string
因为您已经知道选项的值类型是string
这样,因此无需进行反向操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句