- 博客(26)
- 收藏
- 关注
原创 7.React信息同步
本文介绍了React中Effect机制的使用方法,重点讲解了useEffect在获取服务器数据时的应用。文章分为三个部分:首先说明Effect的用途,用于处理与外部系统的同步操作;其次详细讲解了useEffect的三个使用步骤,包括声明Effect、指定依赖项和添加清理操作;最后通过示例代码展示了如何正确使用useEffect获取API数据,并强调了依赖数组的重要性以避免不必要的重复执行。文章指出,合理使用Effect可以帮助开发者避免竞态条件和管理复杂度,同时保持组件的纯粹性。
2025-12-18 23:47:14
767
原创 6.React记忆化处理
本文介绍了React中三种记忆化处理的Hook:useMemo、useCallback和useRef。useMemo用于缓存计算结果,避免重复计算;useCallback用于缓存函数引用,防止子组件不必要的重渲染;useRef则用于保存可变值而不触发重新渲染。文章还详细介绍了React.memo高阶组件的使用场景和优化原理,包括默认浅比较和自定义比较函数的使用。这些优化手段能有效提升React应用的性能,特别是在处理复杂计算、大列表渲染和函数引用传递等场景时。
2025-12-12 23:10:40
900
原创 5.React状态管理
本文介绍了在React中使用useReducer管理复杂组件状态的方法。文章首先通过一个任务管理组件示例,展示了当状态更新逻辑较多时,使用useState会导致代码复杂度增加的问题。然后详细说明了将useState转换为useReducer的三个步骤:1)将状态设置逻辑改为dispatch action;2)编写reducer函数处理不同action;3)在组件中使用reducer。通过这种方式,可以将分散的状态更新逻辑集中到reducer函数中,使代码更易于维护。文章提供了完整的代码示例,演示了如何实现任
2025-12-11 23:16:03
990
原创 4.React组件状态
本文介绍了React组件的状态(state)概念及其特性。通过一个计数器示例,说明局部变量无法触发重新渲染的问题,进而引入useState Hook的使用方法。文章详细讲解了state的批处理机制、异步更新特性,以及如何在事件处理中多次更新同一个state。重点阐述了React渲染流程:调用组件函数→返回新JSX快照→更新UI匹配快照,并强调了state在渲染过程中的"固定"特性。最后解释了更新函数的使用场景和注意事项,帮助开发者正确理解和使用React的状态管理机制。
2025-12-10 23:18:04
984
原创 3.React事件处理
本文介绍了React中给JSX组件绑定事件处理的方法。主要内容包括:1)通过onClick等props属性声明式绑定事件处理函数;2)自定义组件时如何命名事件处理prop;3)使用内联函数解决参数传递问题;4)通过回调函数实现子组件向父组件传值;5)合成事件对象SyntheticEvent的使用,重点讲解了stopPropagation()和preventDefault()方法的作用。文章通过代码示例展示了React事件处理的声明式特性,避免了传统命令式代码的复杂性,提高了开发效率。
2025-12-08 22:13:33
942
原创 2.React组件介绍
React组件开发摘要 React组件是可复用的UI单元,通过函数封装JSX实现。组件命名需大写字母开头,支持嵌套组合。组件可分类存放于不同文件,通过export/import实现模块化管理。组件间通过props传递数据,props是一个包含所有传入属性的对象,支持解构语法提取具体属性。React的组件化开发模式提高了代码复用性和可维护性,使UI开发更加模块化和高效。
2025-12-05 11:42:05
998
原创 1.React基础概念
React是一个专注于构建用户界面的JavaScript库,相比传统命令式编程,它通过JSX语法简化了UI开发。JSX允许在JavaScript中直接编写类似HTML的标签,使组件开发更直观高效。文章以聊天插件为例,对比了原生HTML/CSS实现与React组件化开发的差异,展示了React在跨浏览器兼容性和代码复用性上的优势。通过引入React CDN和Babel,开发者可以快速体验JSX的便利性,专注于UI构建而无需处理复杂的DOM操作。
2025-12-04 11:46:16
752
原创 React Windows环境安装及配置
本文介绍了在Windows 10上配置React前端开发环境的完整流程。首先安装VSCode编辑器和Node.js环境,通过npm配置国内镜像源提升下载速度。详细说明了使用create-react-app创建项目的方法,并解析了项目目录结构及各文件作用。文中还包含了常见问题解决方案,如脚本执行策略设置和SSL证书问题处理,适合从Linux命令行环境转型到Windows前端开发的程序员参考。
2025-12-02 10:11:58
926
原创 10.二叉查找树
一种特殊的二叉树——二叉查找树(Binary Search Tree),二叉查找树又称为二叉搜索树。对任意结点,如果左子树不为空,则左子树上所有节点的权值都小于该节点的权值;如果右子树不为空,则右子树上所有节点的权值都大于该节点的权值。在二叉查找树中,任意节点的左子树和右子树都是一颗二叉查找树,一般而言,二叉查找树上节点的权值都是唯一的。在二叉查找树上,对任意节点,如果有左子树和右子树,那么其左子树上节点的权值都小于右子树上节点的权值。如果中序遍历二叉查找树,会得到一个从小到大的序列。
2022-09-04 21:37:28
280
原创 6.字符串匹配算法
字符串匹配问题是计算机科学中研究最为广泛的问题之一,字符串匹配算法发展了十几年,广泛应用于生物信息学、信息检索等领域。本文介绍几种常用基础算法
2022-09-04 21:33:25
272
原创 3.算法的复杂度分析
算法的复杂度是评估算法性能优劣一个重要的指标,可以帮助程序员估算出算法在执行之后所需要的时间和空间,所以分析算法的复杂度几乎成了每个程序员必须掌握的能力。
2021-04-22 18:07:08
520
原创 2.素数相关
质数又称为素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。只有两个正因数(1和自己)的自然数即为质数。比1大但不是素数的数称为合数。1和0既非素数也非合数。所有大于1的正整数都可以表示成素数的和。所有的合数都可以写成一个素数乘以一个自然数的形式,这个素数被称为该合数的素因子。
2021-04-16 11:48:47
753
原创 1.欧几里得算法
欧几里得算法又名辗转相除法,迄今为止已知的最古老的算法,距今两千三百多年,用于快速计算两个数字的最大公约数,还可以用于快速求解 `a*x + b*y = 1`方程的一组整数解。
2021-04-15 15:12:23
301
原创 9.图的存储与遍历
图是由一系列顶点和若干连结顶点集合内两个顶点的边组成的数据结构。数学意义上的图,指的是由一系列点与边构成的集合。图的存储方式主要为邻接矩阵和邻接表。主要的遍历方式有深度优先遍历(dfs)和广度优先遍历(bfs).
2021-04-13 17:17:25
661
原创 7.森林与并查集
由若干棵互不相交的树组成的数据结构被称为森林。在数据结构里,森林是由若干棵互补相交的树组成的。森林有两种遍历方法,分别是先序遍历和后序遍历。
2021-04-07 18:26:03
1007
原创 6.堆与优先队列
堆可以看成是一棵完全二叉树,除最后一层以外,它的每一层都是填满的,最后一层从左到右依次填入。对于堆上的任意一个结点来说,越接近顶部,结点的权值也就越大,并且它的权值大于等于它所在子树的所有结点的权值。我们对具有这样性质的完全二叉树叫做堆。
2021-04-06 22:16:49
219
原创 5.查找算法
查找(search) 是指在数据集合中寻找满足某种条件的数据元素的过程。查找操作是数据处理中使用最频繁的一项操作。二分查找是顺序表中最常用的查找方式。
2021-04-05 22:24:11
362
原创 8.哈希表
哈希表又叫散列表,关键值通过哈希函数映射到数组上,查找时通过关键值直接访问数组。哈希函数指的是关键值和存储位置建立的对应关系。哈希函数指的是关键值和存储位置建立的对应关系,查找时只要根据这个关系就能找到目标位置。
2021-04-03 23:43:45
216
原创 4.栈
栈是一种先进后出(FILO,First-In-Last-Out)的线性表,栈和队列非常相像,但是栈只能在栈顶插入和删除元素。日常使用中可以使用数组或者链表来模拟栈
2021-03-31 21:38:20
128
原创 3.队列
队列是一种先进先出FIFO,First-In-First-Out的线性表,通常用链表或者数组来实现。队列只能在队尾插入元素,只能在队首删除元素。
2021-03-30 11:33:28
347
原创 2.链表
链表是线性表的一种,每个节点里存储了数据域和指针域,其中指针域中存储指向下一个节点的指针。相比顺序表,链表在插入和删除操作上更方便。链表有很多不同类型:单向链表、双向链表、循环链表等。
2021-03-29 17:22:23
198
原创 1.顺序表
线性表(linear list) 是数据结构学习的第一步,也是最简单最常用的数据结构之一。线性表最具有代表性的一种存储方式就是顺序表存储。
2021-03-29 17:20:32
587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅