如何重用childContextTypes中的类型定义?

时间:2016-07-15 10:26:38

标签: reactjs typescript

我正在使用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吗?为什么我需要这个?现在,我只有两个道具,但在某些条件下我可能有更多的道具,我不想重写它!

0 个答案:

没有答案