- 博客(14)
- 收藏
- 关注
原创 React hooks(1)——状态管理useState/useContext
hooks的作用:function组件尽量写成纯函数。若需要副作用等外部功能,则用钩子把外部代码钩进来即可。
2023-09-05 11:13:40
199
1
原创 React的基本概念
React 鼓励使用组件化的方式来构建应用。这种方法使得应用更易于维护和扩展,因为每个组件都是独立的,可以重用,而且组件之间的隔离性能够降低 Bug 出现的概率。虚拟 DOM (Virtual DOM): React 引入了虚拟 DOM 的概念,它在内存中维护一个轻量级的 DOM 表示,React 可以高效地对比这个虚拟 DOM 和实际 DOM 的差异,然后,从而提高应用的性能。声明式编程: React 使用声明式编程风格。你。React 会根据你的描述自动处理 DOM 更新。
2023-09-05 11:00:58
146
1
原创 IDEA Servlet web.xml报错问题
问题描述: web.xml中配置后程序报错,但删除servlet的配置又可以正常运行 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/
2022-04-22 16:02:38
1060
原创 排序算法与自定义排序算法
快速排序复习 思想:利用二分法+递归 时间复杂度:O(nlogn) var quickSort = function (arr) { if (!arr.length) return [] else if (arr.length === 1) return arr let left = [] let right = [] let mid = 0//表示基准数字的index for (let i = 1; i < arr.length; i++) {
2022-03-18 09:35:37
579
原创 二叉树内容总结
基本概念 二叉搜索树 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树 平衡二叉搜索树 平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 迭代遍历 var preorderTraversal = function(root) { let res=[]
2022-03-17 10:27:54
867
原创 JS二维数组的访问问题
问题 今天刷lc遇到一个很奇怪的现象 这是isPass的结构,其实就是一个3*2的数组 可是当我使用isPass[0][0] = true的时候,产生了如下结果: 第一列居然全都变成了true! 原因分析 上述isPass的初始化语句为: let isPass = new Array(m).fill(new Array(n).fill(false)) 若将其改为: let isPass = new Array(m) for (let i = 0; i < m; i++) isPass[i] =
2022-03-17 09:49:50
496
原创 记账本项目03-组件测试
一、测试是什么和重要性 高质量的代码 更早的发现bug,减少成本 让重构和升级更加容易和可靠 让开发流程更加的敏捷 二、测试金字塔 UI:E to E test 模拟真实的用户场景 service test:(容器组件测试) unit:单元测试(UI组件测试) 三、React适合单元测试的原因 组件化 functional component 单向数据流 四、通用测试框架-Jest 断言库:判断一个值是否对应相应的结果 使用方法:npm test src/xxx.js 五、react测试工具-enzyme
2022-03-13 20:17:32
841
原创 记账本项目-首页UI组件开发
React理念–开发顺序 1、UI划分出组件层级 2、创建应用的静态版本 一、UI组件:PriceList 1、组件数据分析 item的数据、编辑响应与删除响应 <Pricelist items={items} onModifyItem={} onDeleteItem={(item) => { alert(item.id) }} /> 2、条目数据分析 const items = [ { id: 1, content: '和炮炮一起吃饭',
2022-03-11 19:59:40
228
原创 剑指offer26(树的子结构)—关于二叉树的递归
自己二叉树的递归算法比较薄弱。今天写下这篇博文,一方面帮助自己理清思路,另一方面让自己冷静下来,在焦急等待微软招聘结果的时候能静下心来梳理思路 参考思路:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/solution/javascript-di-gui-fei-di-gui-liang-chong-jie-fa-sh/ 一、题目分析 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)。B是A的子结构, 即 A中有
2022-03-11 10:08:13
1208
原创 todoList-hooks学习
一.配置环境 npx create-react-app todolist npm add node-sass 二、组件—添加事件(包含一个input框和一个提交button) placeholder 属性提供可描述输入字段预期值的提示信息(hint)。该提示会在输入字段为空时显示,并会在字段获得焦点时消失。 <input type="search" name="user_search" placeholder="Search W3School" /> 控制组件的显示/隐藏 return
2022-03-10 10:02:19
132
原创 手撕代码的步骤
手撕代码的步骤(以手写代码表示new的过程为例) 一、明确代码目标 可以先将函数的调用/测试用例写出来,帮助自己梳理代码的输入、输出以及代码逻辑。本体的代码逻辑如下 function Test(name) { this.name = name this.city = '南京' } function createNew(clas, ...args) { //此处需补充 } let my = createNew(Test, 'lxy') 通过上述调用可发现,createNew()传入的两个参数分别为构造
2022-03-09 13:15:15
1118
原创 哈希表的二三事
问题引入 题目:面试题50. 第一个只出现一次的字符 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 问题分析:因为需要遍历s才能够确定每个字符出现的次数,所以复杂度O(n)是跑不了的。至于映射字符和number,用哈希表再合适不过了。借此复习一下哈希表的原理和map的常用api 问题分析 如何保证返回的字符是第一个出现次数为1的字符?这里需要补充数据结构的相关内容 逻辑结构VS物理结构 逻辑结构:栈、堆、队列、树 物理结构:array、object、map、s
2022-03-08 10:42:16
307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人