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

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

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

相关资讯

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

最新资讯

Python进阶路线:从基础语法到自动化、爬虫与量化实战
模板渲染失败怎么办?从错误消息优化到业务自助排障的工程实践
JAVA舌诊接口实战:舌象特征提取与体质辨识落地指南
rea技术解析:从原始数据到结构化信息的高效处理方案
昇腾950DT迁移实战:3类组件锁定排查
JSP+Servlet+MySQL手写教务系统:从建表到部署避坑全攻略

今日推荐

AI编程智能体实战:从写代码到指挥代码的架构与落地
多模态大模型全栈能力拆解:从数据对齐到弹性推理
大模型Agent开发入门:从工具调用循环到落地避坑指南

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

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

发布时间:2026/10/9 4:04:53
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 号