前端学习之——react篇(条件渲染)

React 没有特殊的语法来编写条件语句,因此你使用的就是普通的 JavaScript 代码。例如使用 if 语句根据条件引入 JSX:

javascript 复制代码
let content;
if (isLoggedIn) {
  content = <AdminPanel />;
} else {
  content = <LoginForm />;
}
return (
  <div>
    {content}
  </div>
);

如果你喜欢更为紧凑的代码,可以使用 条件 ? 运算符。与 if 不同的是,它工作于 JSX 内部:

javascript 复制代码
<div>
  {isLoggedIn ? (
    <AdminPanel />
  ) : (
    <LoginForm />
  )}
</div>

当你不需要 else 分支时,你还可以使用 逻辑 && 语法:

javascript 复制代码
<div>
  {isLoggedIn && <AdminPanel />}
</div>

所有这些方法也适用于有条件地指定属性。如果你对 JavaScript 语法不熟悉,你可以从一直使用 if...else 开始。

注意⚠️:

在上面的代码片段中,&& 是 JavaScript 中的逻辑与(AND)操作符。它用于在条件表达式中进行逻辑判断。

在这个特定的用法中,{isLoggedIn && <AdminPanel />} 表示如果 isLoggedIn 为真(即为 true),则渲染 <AdminPanel> 组件;否则,不进行渲染。

这种写法是一种简洁的条件渲染方式。当 isLoggedIn 为真时,表达式的结果为 <AdminPanel /> 组件,从而使其被渲染。当 isLoggedIn 为假时,表达式的结果为 false,因此不会渲染任何内容。

这种写法相当于以下的条件语句:

javascript 复制代码
<div>
  {isLoggedIn ? <AdminPanel /> : null}
</div>

使用 && 操作符的条件渲染方式可以帮助简化代码并提高可读性。

相关推荐
梓雨枔8 分钟前
JavaScript+快速学习,简单好用~
javascript·学习
小羊没烦恼!14 分钟前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
Leslie16517 分钟前
聚合不只是 GROUP BY:HashAggregate 与 SortAggregate 的内存账本
前端
老王爱玩车32 分钟前
自定义类型:结构体
c语言·开发语言·学习
ITOM运维行者43 分钟前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
前端·javascript·后端
成旭先生1 小时前
AI 文本审核 API:一段中文文本判风险等级、命中标签与处置建议
java·前端·人工智能·api接口·内容风控·文本审核·ugc审核
liangshanbo12151 小时前
前端面试题:AI 对话中超长消息导致内存溢出,怎么解决?
java·开发语言·前端
静默回滚1 小时前
PDF能打开却不能复制,原来是权限密码
前端
律宏阔1 小时前
Dart FFI 内存管理:用 using + Arena 替代嵌套 try-finally
前端·flutter
guslegend1 小时前
脚手架入门:必要性、核心功能与执行原理
前端·架构·node.js·脚手架·前端工程化