在TypeScript中为React编写通用子类的语法是什么

时间:2019-06-15 04:42:20

标签: reactjs typescript

这是该类的定义。

export default class Select<T = SelectValue> extends React.Component<SelectProps<T>, {}> {
  static Option: React.ClassicComponentClass<OptionProps>;
  /* more */
}

在我的代码中,我可以写

type CustomType = "foo" | "bar";
export function Page(): JSX.Element {
  return (
    <Select<CustomType>>
      <Select.Option<CustomType> value="foo">foo</Select.Option>
      <Select<CustomType>.Option value="bar">bar</Select.Option>
    </Select>
  );
}

<Select<CustomType>>罚款,但<Select.Option<CustomType>><Select<CustomType>.Option>罚款。

我知道

  

期望0个类型参数,但得到1个。

来自<Select.Option<CustomType>>

  

逗号运算符的左侧未使用且没有副作用。

来自<Select<CustomType>.Option>

编写泛型的正确语法是什么?

0 个答案:

没有答案