React.js条件渲染大战:if语句、三元运算符、逻辑与或,哪个才是你的终极武器

2023-09-23 22:14:50 浏览数 (1)

条件渲染

React.js 中的条件渲染就是使用 Javascript 的条件运算符,当且仅当满足特定条件时动态地将某些内容渲染到 ReactDOM。React 渲染中使用的两种主要条件运算符类型是:

  1. &&(与)运算符
  2. 三元运算符

1. &&(与)运算符

&& 运算符检查表达式的真实性或简单(布尔)性质,可以利用该性质来确定是否渲染给定元素。换句话说,&&运算符可用于确定渲染或不渲染某些内容。 相同的语法是:

condition && expressionToRender

例如,为了当消息数量满足特定条件时渲染出一条消息,可以这样实现:

代码语言:javascript复制
notifications.length > 0 && 
<h1>You have {notifications.length} notifications!</h1>

2. 三元运算符

三元运算符利用了Javascript 世界中存在的真值假值条件。如果选项只有两个,则可以用三元运算符代替冗长的“if else”和“switch”语句。三元运算符的语法是: condition ? expressionIfTrue : expressionIfFalse

如果条件为真,则为“?”后的第一个表达式 被处决;如果为 false,则执行“:”之后的第二个表达式。因此,简单来说,三元运算符可用于呈现给定的 2 个表达式之一。

例如,在与上述相同的情况下,根据通知的长度呈现 2 条不同消息中的任意一条:

代码语言:javascript复制
 notifications.length === 0 ?
                <h1>You're all caught up!</h1> :
                <h1>You have {notifications.length} unread  
               notifications</h1>

在上面的示例中,消息“您都陷入困境了!” 如果通知(存储在数组中)有 0 或没有通知,(在“?”之后)将被渲染(显示),这是使用array.length方法(在“?”之前)检查的。如果通知为 1 个或多个,则将显示第二个h1元素中的消息(在“:”之后)(以及使用相同array.method派生的通知数量)

If Else 和 Switch 语句

尽管三元运算符也可用于超过 3 个表达式,但如果选项超过 2 个,最佳实践是使用 if else 或 switch 语句,以避免复杂性。

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

0 人点赞