gpt4 book ai didi

reactjs - react / typescript : extending a component with additional properties

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:22 24 4
gpt4 key购买 nike

我正在尝试使用 React 来重新创建我的电流组件(用纯 typescript 编写),但我找不到一种方法来为扩展另一个的组件提供额外的 Prop 。

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 : extending a component with additional properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com