【问题标题】:Inherit or Compose in render()?在 render() 中继承还是编写?
【发布时间】:2016-05-03 19:01:31
【问题描述】:

我正在学习 React 并使用 material-ui/Table。我已经定义了 TestTableTestRow 类。 TestTable 根据 this.props(未显示)创建一个数字 TestRows,然后返回:

  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 还是应该组装整个行。

   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>);

    }

【问题讨论】:

    标签: reactjs material-ui


    【解决方案1】:

    在 React 中执行此操作的首选方法是使用组合。一般来说,当组合可以工作时使用继承是个坏主意。

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 2012-06-15
      相关资源
      最近更新 更多