条件渲染表行反应

时间:2019-03-06 05:23:12

标签: javascript reactjs conditional-rendering

我有一个包含许多行的表格,我正在将道具传递到其中。如果返回的道具是空字符串“”,我不想渲染该行

    <Table.Body>

      <Table.Row>
        <Table.Cell>Producer</Table.Cell>
        <Table.Cell>{props.producer}</Table.Cell>
      </Table.Row>

      <Table.Row>
        <Table.Cell>Country</Table.Cell>
        <Table.Cell>{props.country}</Table.Cell>
      </Table.Row>

      <Table.Row>
        <Table.Cell>Region</Table.Cell>
        <Table.Cell>{props.region}</Table.Cell>
      </Table.Row>

      <Table.Row>    
        <Table.Cell>Subregion</Table.Cell>
        <Table.Cell>{props.subregion}</Table.Cell>
      </Table.Row>

    </Table.Body>

及其渲染位置:

render() {
return (
//  <Container>
 <Grid>

    {this.state.wines.length ? (
          <List>
            {this.state.wines.map(wine => (
              <Grid>
               <DataWine header={wine.Wine} producer={wine.Producer} country={wine.Country} region={wine.Region} subregion={wine.Subregion}/>

              </Grid>
            ))}

          </List>
        ) : (
          <h3>No Results to Display</h3>
        )}

因此,在此示例中,如果JSON为“子区域”返回“”,则我不希望显示“子区域:”的行。预先感谢!

1 个答案:

答案 0 :(得分:1)

我不太确定您要的是什么。但是我很确定您只需要使用&&运算符,例如:

{
  props.region &&
  <Table.Row>
    <Table.Cell>Region</Table.Cell>
    <Table.Cell>{props.region}</Table.Cell>
  </Table.Row>
}