JavaScript do表达式:不带else的if语句
我对提议的方案有一个问题。有许多示例显示了如何使用它从同时具有JavaScript do表达式:不带else的if语句,javascript,reactjs,jsx,ecmascript-next,Javascript,Reactjs,Jsx,Ecmascript Next,我对提议的方案有一个问题。有许多示例显示了如何使用它从同时具有if和else的条件语句返回值。对于if和else if和else也有效 如果一个条件语句只有一个if子句,但没有else if或else?这是do表达式的有效用法吗 我的用例是有条件地显示React组件中的内容。我希望这样编写JSX代码,但我不确定它是否有效: export default function myComponent(props) { return ( <div> {do {
if
和else
的条件语句返回值。对于if
和else if
和else
也有效
如果一个条件语句只有一个if
子句,但没有else if
或else
?这是do
表达式的有效用法吗
我的用例是有条件地显示React组件中的内容。我希望这样编写JSX代码,但我不确定它是否有效:
export default function myComponent(props) {
return (
<div>
{do {
if (true) {
<p>If statement is true</p>
}
}}
<p>I am always rendered</p>
</div>
);
}
导出默认函数myComponent(道具){
返回(
{do{
如果(真){
如果这句话是真的
}
}}
我总是被渲染
);
}
我在中也问了这个问题。为什么不干脆这样做呢?使用三元运算符
export default function myComponent(props) {
return (
<div>
{ true ? <p>If statement is true</p> : null }
<p>I am always rendered</p>
</div>
);
}
导出默认函数myComponent(道具){
返回(
{true?如果语句为true:null}
我总是被渲染
);
}
不确定是否执行
,也如@
do表达是第1阶段提案,不是ES2016(ES7)的一部分
您可以使用这样编写,如果条件失败,则
返回null
:
export default function myComponent(props) {
return (
<div>
{
true?
<p>If statement is true</p>
:null
}
<p>I am always rendered</p>
</div>
);
}
导出默认函数myComponent(道具){
返回(
{
是吗?
如果这句话是真的
:null
}
我总是被渲染
);
}
或使用:
export default function myComponent(props) {
return (
<div>
{
true && <p>If statement is true</p>
}
<p>I am always rendered</p>
</div>
);
}
导出默认函数myComponent(道具){
返回(
{
如果语句为true&&
}
我总是被渲染
);
}
查看文档以了解有关巴贝尔的更多详细信息: 输入:
<p>
{do {
if (true) {
<a/>
}
}}
</p>
这对我来说很有意义。隐含的
else
表达式中的返回值将是未定义的
do
表达式是第1阶段提案,而不是ES2016(ES7)的一部分。
React.createElement(
"p",
null,
true ? React.createElement("a", null) : void 0
);