Use namespaces

This commit is contained in:
Jason Unger
2018-05-14 18:04:34 -04:00
parent beb66996a4
commit bcdd5baf8b
2 changed files with 16 additions and 18 deletions

View File

@@ -6,17 +6,19 @@
import * as React from 'react';
export type Value = React.InputHTMLAttributes<HTMLInputElement>['value'];
type Value = React.InputHTMLAttributes<HTMLInputElement>['value'];
export type RadioProps = React.InputHTMLAttributes<HTMLInputElement>;
export const Radio: React.ComponentClass<RadioProps>;
export interface RadioGroupProps {
name?: string;
selectedValue?: Value;
onChange?: (value: Value) => void;
Component?: string | React.ReactElement<React.HTMLProps<HTMLElement>>;
export namespace Radio {
export type RadioProps = React.InputHTMLAttributes<HTMLInputElement>;
}
export const Radio: React.ComponentClass<Radio.RadioProps>;
export const RadioGroup: React.ComponentClass<RadioGroupProps>;
export namespace RadioGroup {
export interface RadioGroupProps {
name?: string;
selectedValue?: Value;
onChange?: (value: Value) => void;
Component?: string | React.ReactElement<React.HTMLProps<HTMLElement>>;
}
}
export const RadioGroup: React.ComponentClass<RadioGroup.RadioGroupProps>;

View File

@@ -1,12 +1,8 @@
import * as React from 'react';
import { Radio, RadioGroup, RadioGroupProps, Value } from "react-radio-group";
import { Radio, RadioGroup } from "react-radio-group";
class ReactRadioGroup extends React.Component<RadioGroupProps> {
constructor(props: RadioGroupProps) {
super(props);
}
handleChange(value: Value) {
class ReactRadioGroup extends React.Component<RadioGroup.RadioGroupProps> {
handleChange: RadioGroup.RadioGroupProps['onChange'] = value => {
console.log(value);
}