中级第 6 / 17 节30 分钟 · 实操
条件渲染与列表
React 课程的一部分
你用过的几乎每一个界面,都会根据某个条件显示这个而不是那个:一条"你有新消息"的横幅,只有在真的有新消息时才出现;一个加载中的转圈图标,只在加载过程中显示。而几乎每一个界面也都会显示不止一个东西:一列订单、一格一格的商品、一条动态里的帖子。如果你把组件写死成"第一项、第二项、第三项",那只能撑到第四项出现之前。React 没有为这两个问题另外给你一套模板语言,没有从别的工具那里借来什么特殊的 {% if %} 或 {% for %} 标签。它用的是纯粹的 JavaScript,你早就在写的那种表达式,直接丢进你已经熟悉的 JSX 花括号里。
想象一个门童站在一个房间门口。放人进去之前,他只检查一件事。检查通过,人就走进去;检查没通过,什么都不会发生,没有解释,没有占位符,只有沉默和一扇关着的门。这正是 && 在 JSX 表达式里做的事:当你写下 condition && <SomeElement />,只有当 condition 为真值时,React 才会渲染 <SomeElement />;如果它是假值,React 就什么都不渲染,字面意义上的什么都没有。
想在真实环境里学习 React 条件渲染与列表 吗?
点击下方,立即获得一台预装 React 的 Linux 主机,跟懂你代码的 AI 导师一起完成 条件渲染与列表 的实操练习。
开始这节课条件渲染与列表你将学到什么
- && for show/hide
- Ternary for either/or
- Mapping arrays to JSX
- The key prop
- Why keys need to be stable
用你的语言阅读本课
本课程的所有课时
17 节- 1什么是 React?25 分钟
- 2JSX 与组件 (Components)30 分钟
- 3属性 (Props)30 分钟
- 4使用 useState 管理状态 (State)35 分钟
- 5处理事件30 分钟
- 6条件渲染与列表30 分钟
- 7表单与受控输入 (Controlled Inputs)35 分钟
- 8使用 useEffect 实现副作用 (Effects)40 分钟
- 9数据获取40 分钟
- 10组件组合 (Component Composition)35 分钟
- 11Context 与 useContext35 分钟
- 12useReducer35 分钟
- 13自定义钩子 (Hooks)35 分钟
- 14性能与记忆化 (Memoization)35 分钟
- 15使用 React Router 进行路由40 分钟
- 16测试 React 组件 (Components)40 分钟
- 17顶点项目:待办事项应用60 分钟
探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
