在写组件的时候,如果return null或者undefined或者true的时候,会发生什么
看以下代码:
<div />
<div></div>
<div>{false}</div>
<div>{null}</div>
<div>{undefined}</div>
<div>{true}</div>
视图中什么都没显示
false, null, undefined, 和 true虽然用大括号括起来是一个合法的语法,但是他们不会被呈现在视图中
这些代码都是等价的。
既然不会显示,那么留着这个有个毛线用,当然是有用的,我们可以通过这些东西来选择性的输出数据给视图显示
<div>
{showHeader && <Header />}
<Content />
</div>
因为showHeader为false的时候不会将这一行的数据显示出来,而为true的时候则会显示的内容
当然如果是一些特殊的转换判断就得另算了,比如说0和1他们会被判断为false和true,但是会显示出来。
<div>
{props.messages.length &&
<MessageList messages={props.messages} />
}
</div>
这里props.messages.length等于0的话,会显示出一个0,所以我们使用时一定要将它变为一个布尔表达式