我如何添加以下内容:
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
答案 0 :(得分:1)
您可以使用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>
)