前端基础之《React(11)—state声明式》 📅 发布时间:2026/7/17 5:58:40 👁️ 浏览次数: 一、如何定义state1、在类组件中在constructor()构造函数中使用this.state{}来定义2、在函数式组件中自React16.8以后可以使用useState()来定义二、如何使用state1、在类组件中通过this.state来访问声明式变量import { Component } from react; class A extends Component { constructor(props) { super(props); // 调用父类的构造函数 // 定义state this.state { num: 1, }; } // 类组件一定要有render方法因为render返回值就是组件的DOM结构 render() { // 建议在类组件中解构state const { num } this.state; return ( div h1类组件/h1 h1{ num }/h1 /div ); } } export default A;2、在函数式组件中直接访问useState的结果三、如何正确地修改state声明式变量1、在类组件中使用专属方法this.setState()来修改2、在函数式组件中使用useState()返回值的第二个参数来修改3、this.setState两种写法1this.setState({})对象语法2this.setState((state,props){}) 回调函数语法3例子// 自定义方法 add () { // 这种写法是没问题的但不够优雅。因为你要修改的state新值是由旧值计算而来的 // 所以建议使用函数式写法this.setState((state,props){}) // 用旧值state参与运算得到新值 this.setState({ num: this.state.num 1, }); }4、this.setState是异步的所以有第二个参数callback表示声明式变量修改已完成this.setState({}, callback)this.setState((state,props)({}, callback))四、关于this.setState()的异步性1、在ReactV17/V16中this.setState()在合成事件on*系列事件、生命周期中是异步的。在宏任务、Promise.then()中是同步的2、在ReactV18以后无论this.setState()在哪里都是异步的。这种特性被称之为“并发模式”3、为什么要把this.setState()这个语句定义成异步的呢为了性能优化4、详解this.setState()的自动合并什么是this.setState()的自动合并在同一个函数域中多个this.setState()会自动合并以减少没有必要的Diff运算协调运算5、例子sub () { console.log(1---foo, this.state.foo); this.setState(state({foo: state.foo - 2}), ()console.log(3---foo, this.state.foo)); console.log(2---foo, this.state.foo); }效果
小学生C++竞赛学习路径规划:从零基础到获奖的四大阶段详解 1. 项目概述:从“多久能获奖”到“如何有效学习”“小学生学C,一般大约多长时间能获奖?”——这大概是所有刚接触信息学竞赛的家长和孩子心中最直接、也最焦虑的问题。我接触过太多从零开始的孩子,也见过不少在赛场上崭露头角的“… 2026/7/17 5:58:40
C/C++项目配置核心:附加包含目录、库目录与依赖项详解 1. 项目概述:为什么这三个配置项是C/C项目的“命门”?如果你在Visual Studio或者VSCode里配置过C项目,尤其是引入了第三方库,比如OpenCV、Boost或者自己编译的某个库,那你一定被“附加包含目录”、“附加库目录”和“附… 2026/7/17 5:56:39
基于51单片机的智能温控风扇系统设计与PWM调速实现 在实际项目中开发智能温控系统时,经常遇到传统风扇无法根据环境温度自动调节转速的问题,导致能源浪费或散热不足。本文将完整介绍基于51单片机的智能温控遥控风扇系统,从原理设计到代码实现,为电子爱好者和嵌入式开发者提供一套可… 2026/7/17 5:54:38
Ollama Python库完整指南:从环境配置到生产级应用实战 在本地部署大模型成为趋势的当下,Ollama 凭借其简洁的模型管理和部署能力迅速走红。但很多 Python 开发者在实际集成过程中发现,直接调用 Ollama 的 HTTP API 不仅代码冗长,还要处理连接、序列化、流式响应等底层细节。Ollama Python 库的出现… 2026/7/17 7:13:10
信奥赛C++提高组csp-s之Dijkstra算法详解 信奥赛C++提高组csp-s之Dijkstra算法详解 1. Dijkstra算法是什么及其作用 Dijkstra算法是用于解决单源最短路径问题的经典算法,由荷兰计算机科学家Edsger W. Dijkstra于1956年提出。它能够在非负权图中,找到从起点到所有其他节点的最短路径。 主要作用: 寻找图中单个源点到… 2026/7/17 7:11:09
HarmonyOS7 单元测试:从 @Test 到覆盖率 文章目录前言先有一个被测函数代码实现写测试文件核心代码怎么跑测试完整示例测试异步代码代码解析看覆盖率常见误区(小白必踩)完整可运行示例:单元测试实现拆解写在最后前言 “我改了一行,不知道会不会弄坏别的功能”——这是没… 2026/7/17 7:05:07
OpenVLA-OFT:面向真机部署的视觉语言动作模型微调工程方案 1. 这不是普通微调:OpenVLA-OFT 是一套“手术级”优化方案 OpenVLA-OFT 这个名字里藏着两个关键信号:“OpenVLA”是当前最主流的开源视觉-语言-动作(Vision-Language-Action, VLA)基座模型,而“OFT”不是泛泛而谈的“… 2026/7/17 7:03:07
程序员久坐提醒方案:从系统工具到智能脚本 1. 为什么我们需要久坐提醒?作为一个长期伏案工作的程序员,我深刻理解久坐带来的健康隐患。连续几个小时盯着屏幕不动,不仅会导致腰背酸痛、颈椎僵硬,还可能引发更严重的健康问题。医学研究表明,每30-60分钟起身活动5分… 2026/7/17 7:01:04
Bilibili-Old:三步轻松恢复B站经典界面,告别新版不适体验 Bilibili-Old:三步轻松恢复B站经典界面,告别新版不适体验 【免费下载链接】Bilibili-Old 恢复旧版Bilibili页面,为了那些念旧的人。 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Old 你是否还记得那个简洁明了的B站界面&am… 2026/7/17 6:59:03
【WPS AI表格避坑白皮书】:实测发现87%用户正在误用AI函数——这5个致命错误导致结果偏差超42% 更多请点击: https://intelliparadigm.com 第一章:WPS AI表格的核心能力与适用边界 WPS AI表格将大语言模型能力深度集成于电子表格环境中,实现从自然语言指令到结构化数据操作的端到端转化。其核心并非替代传统公式或宏编程,而是… 2026/7/17 0:00:08
Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案 更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常… 2026/7/17 0:00:08
ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响… 2026/7/17 0:00:08
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/17 0:28:39
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/17 6:02:24
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/16 12:08:13