我正在尝试使用react重新创建当前的组件(用纯 typescript 编写),但是我找不到方法为扩展另一个组件的组件提供额外的支持。

export interface DataTableProps {
    columns: any[];
    data: any[];
}

export class DataTable extends React.Component<DataTableProps, {}> {
   render() {
       // -- I can use this.props.columns and this.props.data --
   }
}

export class AnimalTable extends DataTable {
    render() {
       // -- I would need to use a this.props.onClickFunction --
    }
}

我的问题是,我需要给AnimalTable一些与DataTable无关的 Prop 。我怎样才能做到这一点 ?

最佳答案

您需要使DataTable通用,以便能够使用扩展DataTableProps的接口(interface):

export interface AnimalTableProps extends DataTableProps {
    onClickFunction: Function;
}

export class DataTable<T extends DataTableProps> extends React.Component<T, {}> { }

export class AnimalTable extends DataTable<AnimalTableProps> {
    render() {
        // this.props.onClickFunction should be available
    }
}

关于reactjs - React/TypeScript:扩展具有其他属性的组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39123667/

10-13 08:39