首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >呈现列标题,其中有些带有cellRenderer属性

呈现列标题,其中有些带有cellRenderer属性
EN

Code Review用户
提问于 2017-09-08 14:45:43
回答 1查看 45关注 0票数 0

如何使这个代码块更短?我在重复我自己,因为这个道具cellRenderer

代码语言:javascript
复制
{headers.map((header, i) => {
  return header.index ? (
    <Column
      label={header.label}
      dataKey={header.id}
      disableSort
      width={100}
      flexGrow={1}
      cellRenderer={this._generateCheckbox}
    />
  ) : (
    <Column
      label={header.label}
      dataKey={header.id}
      disableSort
      width={100}
      flexGrow={1}
    />
  );
})}
EN

回答 1

Code Review用户

回答已采纳

发布于 2017-09-08 15:31:11

undefined传递给cellRenderer应该与根本不传递它一样。因此,可以通过执行以下操作来消除重复:

代码语言:javascript
复制
{headers.map((header, i) => {
  return (
    <Column
      label={header.label}
      dataKey={header.id}
      disableSort
      width={100}
      flexGrow={1}
      cellRenderer={header.index ? this._generateCheckbox : undefined}
    />
  )
})}

或者,您可以构建一个extraProps对象,然后将其扩展到列中。

代码语言:javascript
复制
{headers.map((header, i) => {
  let extraProps = header.index ? {
    cellRenderer: this._generateCheckbox
  } : {}
  return (
    <Column
      label={header.label}
      dataKey={header.id}
      disableSort
      width={100}
      flexGrow={1}
      {...extraProps}
    />
  )
})}
票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/175132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档