我正在使用Typescript
开发React
,我想在childContextTypes
中使用Component
:
import * as React from "react";
interface Props {
foo: string;
bar: string;
}
export class Parent extends React.Component<Props, {}> {
constructor(props:Props, context:any) {
super(props, context);
}
static childContextTypes = {
foo: React.PropTypes.string.isRequired,
bar: React.PropTypes.string.isRequired,
}
getChildContext() {
return this.props;
}
render() {
return <Child />
}
}
class Child extends React.Component<{}, {}> {
context: any;
static contextTypes = {
foo: React.PropTypes.string.isRequired,
bar: React.PropTypes.string.isRequired
}
render() {
return <div>Hello, {this.context.foo}, {this.context.bar}</div>;
}
}
正如您所看到的,我只是想重用我的Props
,但在childContextTypes
我必须指定所有childContextTypes
,我不能重用Props
接口。
我可以重复使用Props
吗?为什么我需要这个?现在,我只有两个道具,但在某些条件下我可能有更多的道具,我不想重写它!