前端学习之——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>

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

相关推荐
李剑一2 分钟前
别再抬杠,前端岗已经没了!无论前后端,我们最终都要成“全干”工程师
前端·面试
Highcharts.js3 分钟前
Highcharts 仪表盘与速度仪图表库介绍
前端·信息可视化·仪表板·highcharts·图表开发·图表库·仪表可视化
愚坤28 分钟前
前端真有意思,JS还能独立做项目?
前端·javascript·github
SGAMERrain43 分钟前
# Nuxt 4 + MediaPipe:如何在浏览器中实现本地 AI 人脸分析?
前端
github_is_geeksKai2 小时前
浏览器端文件处理的边界:PDF 面单、GPX 隐私与 EPUB 修复
前端
deli0072 小时前
从一句反馈到一次升级:Mystudy 的自进化实践
前端
FungLeo3 小时前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
li星野3 小时前
相位补偿学习记录:把被颅骨“打乱“的声波重新对齐
学习
Z21-X4 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
red_redemption5 小时前
自由学习记录(230)
学习