javascript - 为嵌套的 if 条件反应条件渲染
问题描述
我想检查多个嵌套条件。Cant似乎想出了一种方法来做到这一点。首先检查是否正常并且没有问题,但是在第一次检查之后,当我添加第二次检查时,无论我使用哪个括号来包装它仍然会引发错误。
示例代码:
return (
<Fragment>
<div>
{ title }
</div>
<div>
{ check1 ?
(<p>
Status
</p>
{ check2 ?
<p>
<a >
desc </a> desc
</p> :
<a>
desc
</a>
}
)
:
{
check3 ?
<p>
<a>
anchor
</a>
desc
</p>
:
<p>
<a
anchor
</a>
desc
</p>
}
}
</div>
</Fragment>
解决方案
一个工作版本如下
return (
<div>
{check1
? <div><p>Status</p>{ check2 ? <p><a>desc</a>desc</p> : <a>desc</a> }</div>
: check3 ? <p><a>anchor</a>desc</p> : <p><a>anchor</a>desc</p>
}
</div>
)
与origin相比,我们可以看到我们需要避免{}
直接在内部{}
,并且对于每个分支返回不超过一个根元素?:
。
return (
<div>
{check1
? (<p>Status</p> { check2 ? <p><a>desc</a>desc</p> : <a>desc</a> })
: {check3 ? <p><a>anchor</a>desc</p> : <p><a>anchor</a>desc</p>}
}
</div>
)
推荐阅读
- c - 静态链接的二进制文件因“找不到小程序”而失败
- html - HTML5 表格无法摆脱单元格之间的细边框
- java - Spark Structured Streaming foreach Sink 自定义编写器无法从 Kafka 主题读取数据
- postgresql - PostgresSQL:间隔字段值超出范围
- ibm-cloud - 创建公共操作不会添加到序列中
- r - 在 R Shiny 中,如何使用在该 observeEvent 之外的 observeEvent(按钮单击)中生成的数据?
- javascript - HTML/JS Select onchange 不适用于某些选择项
- python - 选择带有 selenium python 问题的元素
- r - 调用编译后的 R 函数
- c++ - str.length() 如何计算字符串长度()?