如何使用 JSX 进行条件渲染?
例如,我在这里有一个 div,我想在其中渲染文本“NO IDEA”,如果 props 的值为 null,否则如果它不等于 null,则渲染 props。
例如:
<div>{ return this.props.date === null ? 'NO IDEA' : this.props.date }</div>
我试过了,但没有成功。知道这里做错了什么吗?
提前致谢!
如何使用 JSX 进行条件渲染?
例如,我在这里有一个 div,我想在其中渲染文本“NO IDEA”,如果 props 的值为 null,否则如果它不等于 null,则渲染 props。
例如:
<div>{ return this.props.date === null ? 'NO IDEA' : this.props.date }</div>
我试过了,但没有成功。知道这里做错了什么吗?
提前致谢!
您可以简单地使用基于 this.props.date 的三元运算符,因此您不需要在此处返回
<div> {this.props.date === null ? 'NO IDEA' : this.props.date }</div>
首先,您不需要return
在表达式块内使用语句。接下来,不要只检查 for null
,它可能是undefined
:
<div>{ this.props.date ? this.props.date : 'NO IDEA' }</div>
这只是检查是否date
可用/以布尔值解析为真,然后使用真值,否则使用假值。
或者,即使使用更简单的语法||
:
{ this.props.date || 'NO IDEA' }
仅当日期值在布尔值中解析为 true 时才会呈现日期,否则将呈现“NO IDEA”。