【发布时间】:2018-09-06 00:08:09
【问题描述】:
在我的反应组件中
render() {
let hasTask = this.props.task
return <div>
{hasTask && <div> I have a task </div>}
</div>
}
工作得很好,除非道具没有任务。在反应中处理这个问题的最佳方法是什么。
问题:页面不渲染是因为hasTask不能设置,因为没有叫task的props。
对于这个简单的问题,我真的很抱歉。我必须从某个地方开始。
【问题讨论】:
-
那为什么不行呢?
-
props没有任务有什么问题?
-
您所展示的内容在没有任务的情况下工作得很好 (proof):没有为组件渲染任何内容,这是您所要求的。请使用 minimal reproducible example 来更新您的问题,以展示问题,最好是使用 Stack Snippets(
[<>]工具栏按钮;here's how to do one)可运行。 -
@EmbetIsit:与上述无关。请参阅我上面的评论(和证明)。如果
this.props上没有task,则this.props.task会产生undefined,这是错误的,所以hasTask && <div>...</div>会产生undefined,React 将其视为“不渲染任何东西”。
标签: javascript reactjs if-statement ecmascript-6 conditional