恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

React 极简入门:变量与状态管理

  • 首页
  • 资讯中心
  • /
  • React 极简入门:变量与状态管理

相关资讯

GBFR-Logs深度解析:5步掌握《碧蓝幻想:Relink》最强DPS分析工具 2026/8/2 22:08:25
超分辨率 SRCNN 模型 PyTorch 实战:从零训练到 30+ PSNR 的 5 个关键步骤 2026/8/2 22:08:25
逻辑回归 vs 线性回归:从 5 个维度对比两大经典算法的核心差异与应用场景 2026/8/2 22:08:26

最新资讯

ESP32-DevKitC开发板入门指南:从硬件解析到开发环境搭建
Unified Defense for Large Language Models against Jailbreak and Fine-Tuning Attacks in Education
H5与App跳转微信/支付宝小程序:原理、避坑与uni-app实战
Vue3树形选择组件终极指南:轻松实现层级数据选择
Lost in the Pipeline: How Well Do Large Language Models Handle Data Preparation?
企业微信外部群API接口:基于 RPA 接口的社群舆情监控与关键词预警方案

今日推荐

Java图像处理实战指南
昇腾AI代理实现多号通话自动化
2026年Graph+AI Agents最新创新思路

本周热门

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

React 极简入门:变量与状态管理

发布时间:2026/8/8 11:46:04
React 极简入门:变量与状态管理 React 极简入门变量与状态管理想学 React总得从最基础的地方上手。这里整理了几个核心概念从怎么在页面上显示一个变量到怎么用状态管理让页面动起来。没有废话直接看代码。1. 基础渲染大括号插值React 用 JSX 语法写界面。要在 HTML 标签里塞个变量进去直接套上大括号{}就行。不管是用在标签内容上还是属性上写法都一样。function App() { const divContent 标签内容; const divTitle 标签标题; return ( div title{divTitle}{divContent}/div ); } export default App;2. 条件渲染遇到需要根据不同情况显示不同内容的场景不用找特殊的 React 语法。直接在组件里写原生 JS 的if/else判断即可。function App() { const divTitle 标签标题; const flag true; let divContent null; if (flag) { divContent spanflag为true/span; } else { divContent pflag为false/p; } return ( div title{divTitle} {divContent} /div ); } export default App;3. 列表渲染用 map 遍历渲染列表React 的常规操作是原生的map循环。为了不弄乱 DOM 结构生成多余的div一般用Fragment当作一个隐形的包裹层。import { Fragment } from react; function App() { const list [ { id: 1, name: 小吴 }, { id: 2, name: 小李 }, { id: 3, name: 小花 } ]; const listContent list.map(item ( Fragment key{item.id} li{item.name}/li li------------------/li /Fragment )); return ( ul{listContent}/ul ); } export default App;别忘了给每个列表最外层元素加上独一无二的key这能省掉后续 React 更新 DOM 时的很多麻烦。4. 绑定事件React 里的事件名全是大驼峰比如onClick后面直接跟上处理函数。function App() { function handleClick(e) { console.log(点击了按钮, e); } return ( button onClick{handleClick}按钮/button ); } export default App;5. 初识 useState先看个反例。很多人刚上手会这么写function App() { let divContent 默认内容; function handleClick() { divContent 新内容; // 变量变了页面不动 } return ( div{divContent}/div button onClick{handleClick}按钮/button / ); }普通变量改了就改了React 根本不会去重新渲染页面。想要画面跟着数据动得用useState。import { useState } from react; function App() { const [content, setContent] useState(标签的默认内容); function handleClick() { setContent(新内容); // 这样写页面才会更新 } return ( div{content}/div button onClick{handleClick}按钮/button / ); } export default App;6. 更新对象状态状态数据是对象时不能直接改原对象里的属性。稳妥的做法是新建个对象塞给setData。这里最常用的就是展开运算符...。import { useState } from react; function App() { const [data, setData] useState({ title: 默认标题, content: 默认内容 }); function handleClick() { setData({ ...data, // 把原属性平铺过来 title: 新标题 // 覆盖掉要修改的项 }); } return ( div title{data.title}{data.content}/div button onClick{handleClick}按钮/button / ); } export default App;7. 更新数组状态跟对象一样别去用push之类直接修改原数组的方法。老老实实地生成一个新数组。追加元素展开运算符import { useState } from react; let nextId 4; // 注意把 id 变量提到组件外面防止组件重新渲染时被重置 function App() { const [data, setData] useState([ { id: 1, name: 小吴 }, { id: 2, name: 小李 }, { id: 3, name: 小花 } ]); const listData data.map(item ( li key{item.id}{item.name}/li )); function handleClick() { // 老元素展开新元素接在后面 setData([ ...data, { id: nextId, name: 小花猫 } ]); } return ( ul{listData}/ul button onClick{handleClick}按钮/button / ); } export default App;删除元素filter 方法import { useState } from react; function App() { const [data, setData] useState([ { id: 1, name: 小吴 }, { id: 2, name: 小李 }, { id: 3, name: 小花 } ]); const listData data.map(item ( li key{item.id}{item.name}/li )); function handleClick() { // 筛掉 id 是 2 的留下其余的生成新数组 setData(data.filter(item item.id ! 2)); } return ( ul{listData}/ul button onClick{handleClick}按钮/button / ); } export default App;只要摸清了useState操作对象和数组的这套“不可变”逻辑React 基础就算及格了。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号