在 render() 中继承还是组合?
Inherit or Compose in render()?
我正在学习 React 并使用 material-ui/Table。我定义了一个 TestTable
和 TestRow
class。 TestTable
根据 this.props
(未显示)创建一个数字 TestRows
然后 returns 这个:
return (<Table multiSelectable={true}>
<TableHeader enableSelectAll={true} displaySelectAll={true}>
<TableRow>
<TableHeaderColumn>Name</TableHeaderColumn>
<TableHeaderColumn>Description</TableHeaderColumn>
</TableRow>
</TableHeader>
<TableBody> {rows} </TableBody>
</Table>);
现在我想知道 TestRow 是否应该继承自 TableRow 然后以某种方式添加两个 TableHeaderColumns 还是应该 assemble 整行。
render()
{
super.render()
// Add header columns here? Or not inherit and use what is below?
// return (<TableRow key={this.props.key} selected={false}>
// <TableHeaderColumn>{this.props.test.name}</TableHeaderColumn>
// <TableHeaderColumn>{this.props.test.description}</TableHeaderColumn>
// </TableRow>);
}
在 React 中执行此操作的首选方法是使用组合。通常,在组合可行时使用继承是个坏主意。
我正在学习 React 并使用 material-ui/Table。我定义了一个 TestTable
和 TestRow
class。 TestTable
根据 this.props
(未显示)创建一个数字 TestRows
然后 returns 这个:
return (<Table multiSelectable={true}>
<TableHeader enableSelectAll={true} displaySelectAll={true}>
<TableRow>
<TableHeaderColumn>Name</TableHeaderColumn>
<TableHeaderColumn>Description</TableHeaderColumn>
</TableRow>
</TableHeader>
<TableBody> {rows} </TableBody>
</Table>);
现在我想知道 TestRow 是否应该继承自 TableRow 然后以某种方式添加两个 TableHeaderColumns 还是应该 assemble 整行。
render()
{
super.render()
// Add header columns here? Or not inherit and use what is below?
// return (<TableRow key={this.props.key} selected={false}>
// <TableHeaderColumn>{this.props.test.name}</TableHeaderColumn>
// <TableHeaderColumn>{this.props.test.description}</TableHeaderColumn>
// </TableRow>);
}
在 React 中执行此操作的首选方法是使用组合。通常,在组合可行时使用继承是个坏主意。