当前位置: 首页 > news >正文

React入门学习——指北指南(第五节)

React 交互性:过滤与条件渲染

在前文我们学习了 React 中事件处理和状态管理的基础。本节将聚焦两个重要的进阶技巧 ——条件渲染(根据状态动态显示不同 UI)和列表过滤(根据条件筛选数据),这两者是构建交互式应用的核心能力,能让界面根据用户操作呈现更智能的响应。

条件渲染:根据状态动态显示 UI

条件渲染指的是根据组件的状态(或 props)决定是否渲染某个元素,或渲染不同的元素。这就像现实中的 “根据天气决定穿什么衣服”—— 状态不同,结果不同。

条件渲染的常用方法

React 中实现条件渲染的方式灵活多样,可根据场景选择最合适的方法。

1. if/else 语句(适合复杂条件)

在组件的渲染逻辑中使用if/else,根据条件返回不同的 JSX。

import { useState } from 'react';function UserGreeting() {&#x20; return \<h1>欢迎回来!\</h1>;}function GuestGreeting() {&#x20; return \<h1>请先登录。\</h1>;}function Greeting() {&#x20; // 根据isLoggedIn状态决定渲染哪个组件&#x20; const \[isLoggedIn, setIsLoggedIn] = useState(false);&#x20; let greeting;&#x20; if (isLoggedIn) {&#x20;   greeting = \<UserGreeting />;&#x20; } else {&#x20;   greeting = \<GuestGreeting />;&#x20; }&#x20; return (&#x20;   \<div>&#x20;     {greeting}&#x20;     \<button onClick={() => setIsLoggedIn(!isLoggedIn)}>&#x20;       {isLoggedIn ? '退出' : '登录'}&#x20;     \</button>&#x20;   \</div>&#x20; );}
2. 逻辑与运算符(&&,适合简单显示 / 隐藏)

当需要 “满足条件时渲染某个元素,不满足时不渲染”,可使用&&运算符 —— 左侧条件为true时,渲染右侧元素;否则不渲染。

import { useState } from 'react';function Notification() {&#x20; const \[hasUnread, setHasUnread] = useState(true);&#x20; return (&#x20;   \<div>&#x20;     \<h1>消息中心\</h1>&#x20;     {/\* 有未读消息时显示提示 \*/}&#x20;     {hasUnread && \<p>您有3条未读消息!\</p>}&#x20;     \<button onClick={() => setHasUnread(false)}>标记为已读\</button>&#x20;   \<
http://www.lryc.cn/news/600676.html

相关文章:

  • JavaScript手录06-函数
  • 【RK3568 PWM 子系统(SG90)驱动开发详解】
  • 数据赋能(336)——技术平台——智能化运营
  • Java动态调试技术原理
  • 【RocketMQ】一分钟了解RocketMQ
  • 告别复杂配置!Spring Boot优雅集成百度OCR的终极方案
  • Windows 平台源码部署 Dify教程(不依赖 Docker)
  • 《C++ list 完全指南:从基础到高效使用》
  • Linux——线程同步
  • InvokeRepeating避免嵌套调用
  • C++编程学习(第16天)
  • 7月26日京东秋招第一场第一题
  • 【第二章-数据的表示和运算】
  • 基于java的在线教育平台管理系统、在线学习系统的设计与实现
  • 【机器学习-2】 | 决策树算法基础/信息熵
  • 背包问题及 LIS 优化
  • 【Ubuntu】发展历程
  • 排序算法,咕咕咕
  • 疏老师-python训练营-Day26函数专题1:函数定义与参数
  • Linux的生态与软件安装
  • 深入浅出学习 KNN 算法:从原理到数字识别实践
  • Matrix Theory study notes[5]
  • 7月26日京东秋招第一场第二题
  • 黑屏运维OceanBase数据库的常见案例
  • [2025CVPR:图象合成、生成方向]WF-VAE:通过小波驱动的能量流增强视频 VAE 的潜在视频扩散模型
  • 数据结构预备知识
  • 小电流驱动大电流:原理、实现方式与应用前景
  • Flutter开发实战之动画与交互设计
  • 四通OKI5560SC针式打印机如何复位清零和恢复出厂设置??
  • 航空发动机高速旋转件的非接触式信号传输系统