【发布时间】:2016-09-15 16:17:10
【问题描述】:
我想知道如果在 ReactJS JSX 中是否可以嵌套 if else if?
我尝试了各种不同的方法,但我无法让它发挥作用。
我在找
if (x) {
loading screen
} else {
if (y) {
possible title if we need it
}
main
}
我已经尝试过了,但我无法让它渲染。我尝试了各种方法。一旦我添加了嵌套的 if,它总是会中断。
{
this.state.loadingPage ? (
<div>loading page</div>
) : (
<div>
this.otherCondition && <div>title</div>
<div>body</div>
</div>
);
}
更新
我最终选择了将其移至 renderContent 并调用该函数的解决方案。不过,这两个答案都有效。我想我可以使用内联解决方案,如果它用于简单的渲染,而 renderContent 用于更复杂的情况。
谢谢
【问题讨论】:
-
仅供参考
if/else构造不是“循环” -
(<div>body</div>)部分似乎不属于任何东西。那是一个错误。否则你所拥有的似乎很好。 -
@FelixKling 如果我以body的身份进行操作,它将无法正常工作。关键是我想在 else 中有一些始终显示的数据和另一个 if 作为标题。我明白,但
foo ? bar : baz abc不是有效的 JavaScript。那你想要<div>{this.state.someBoolean ? ... : ...}<div>body</div></div>。你不能有两个 表达式 一个接一个:4 5是无效的。这对语句来说不是问题。
标签: javascript reactjs ecmascript-6 jsx