【发布时间】:2021-10-29 12:49:26
【问题描述】:
我正在尝试将布尔值传递给 Generic 类型,它将在条件中使用。
这是通用类型
interface OptionTypeBase {
[key: string]: any;
}
type OptionsType<OptionType extends OptionTypeBase> = ReadonlyArray<OptionType>;
export type ValueType<OptionType extends OptionTypeBase, IsMulti extends boolean> = IsMulti extends true
? OptionsType<OptionType>
: OptionType | null;
在我的 React 组件中,我有一个 isMulti 属性,它是从父组件中获得的。 如何传递 isMulti 的值,以便上述泛型类型可以正确推断条件的类型?
我已经尝试过这样做,但似乎是错误的。
ValueType<IOption<T>, typeof isMulti>
【问题讨论】:
-
什么是
OptionTypeBase? -
请看更新版本。
-
你会影响 runtime 值的 static 输入吗?我觉得不可能
-
那么这个条件类型到底是怎么工作的呢?实际上,它在 react-select 库中。
标签: javascript reactjs typescript generics types