【发布时间】:2017-05-10 11:50:26
【问题描述】:
如果我有以下组件
interface Props {
someOptionalProp?: string;
}
class SomeComponent extends React.Component<Props, {}> {
public static defaultProps = {
someOptionalProp: 'some default'
};
public render() {
this.props.someOptionalProp.indexOf('a'); // Type error
return <div />;
}
}
那么this.props.someOptionalProp 的类型为string | undefined,因为这是Props 接口的可选字段。但是,在运行时它不能被 undefined,因为 defaultProps 是为这个 prop 设置的。
在这种情况下有什么方法可以避免类型转换?
【问题讨论】:
标签: javascript reactjs typescript