react-select打字稿问题-通用类型'ValueType'需要2个类型参数.ts(2314)

sbuck89

我正在尝试利用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您提供的泛型IsMultitruefalseIsMulti确定是否为数组。如果有一个OptionTypewith {value: string},则ValueType如果为单选,则应该为,string[]而对于单选则为string

在您的情况下,您只有一个选择项,因此可以使用ValueType<OptionType, false>但是您也可以只使用它,string因为您已经知道选项的值类型是string这样,因此无需进行反向操作。

源代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章