javascript - 如何根据条件渲染 JSX?

标签 javascript reactjs

我如何添加类似的内容:

if(true) <Reminder /> else <div>hehe</div>

以普通方式?我知道,我可以创建两个return带有 <Reminder /> 的语句并且没有 <Reminder /> ,但我不想重复代码。

这是我到目前为止所拥有的:

  renderReminders() {
    const { reminders } = this.props;
    return (
      <ListGroup>
        {
          reminders.map(reminder => {
            return (
              <ListGroupItem key={reminder.id}>
                <div>{reminder.text}</div>
                <Reminder dueDate={reminder.dueDate} />
              </ListGroupItem>
            )
          })
        }
      </ListGroup>
    ) // return 
  } // renderReminders

最佳答案

您可以使用ternary operator :

{condition ?
  <div>I will render when condition is true!</div>
    :
  <div>I will render when condition is false!</div>
}

这将使用内联 JSX 表达式根据 condition 有条件地渲染 JSX。例如:

return (
  <ListGroupItem key={reminder.id}>
    <div>{reminder.text}</div>
    {true ? 
      <Reminder dueDate={reminder.dueDate} />
        :
      <div>Hehe!</div>
    }
  </ListGroupItem>
)

关于javascript - 如何根据条件渲染 JSX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44872101/

相关文章:

javascript - jQuery:确定容器中至少一个 child 是否可见的最快方法

javascript - 如何在不删除元素javascript内容的情况下选择和删除元素

javascript - 是否有纯 JavaScript 方法来检索任何站点的所有断点或媒体请求?

javascript - 使用 C# 在 Selenium 页面对象模型中不可能实现鼠标悬停

javascript - 附加到页面的其他部分时,将复选框的值设置为 "checked"

javascript - 无法将符号值转换为字符串 - React AJAX 删除请求

javascript - React router 如何在现有组件内渲染新组件

javascript - 如何反向遍历树结构

css - 使用 JSX 或 Bootstrap 定位位于列表项上的 anchor 元素的最有效方法是什么

javascript - 从 2 个按 id 分组的 JSON 对象创建新的 javascript 对象