- 博客(96)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Service Worker 简单学习
Service Worker 是PWA核心,是一种特点:无法操作DOM、只能使用HTTPS和localhost。
2022-08-16 15:59:23 736
原创 es6和commonjs对导入导出的值修改是否影响原模块
在模块导出基本类型数据时,require方式无法获取内部最新数据而且修改变量值会脱钩,import方式外部无法修改模块的数据(只读),但是非默认导出属性可以获取内部最新值。在模块导出引用类型数据时,外部和内部的修改都可以被观测到!...
2022-07-28 16:07:00 2640 1
原创 利用Suspense组件来包装请求
React的Suspense有个fallback,可以利用这个特性来处理未请求到数据时显式的内容,请求到数据后就显示结果。
2022-06-27 23:47:05 573
原创 React Context 快速使用
文章目录1 使用背景2 类组件使用3 函数组件使用4 消费多个context5 useContext1 使用背景为了跨组件进行数据传递,尤其是跨多级组件传递,使用context能简化流程,且更为清晰。需要注意的是,依赖context的组件,在context发生改变的时候会更新(不受shouldComponentUpdate控制)需要注意的是:context比较为浅比较,如果父组件传递给子组件的context是一个新对象,则会触发子组件更新。2 类组件使用注意:context一定要单独存放,否则可能
2022-02-20 14:36:19 646
原创 JavaScript高级
文章目录1 数据类型1 数据类型基本数据类型(5种)StringNumberBooleanundefinednull(常用于引用变量赋初值和垃圾回收)对象(引用)类型(3种)Object(任意类型都是该类型,函数、数组都是属于对象的)FunctionArray判断数据类型方法:typeof:返回数据类型的字符串表达,用于除null外的基本数据类型判断,对于引用数据类型:除函数返回"function",其余都返回"object"(类型是小写)instanceof:只能对象进行比
2021-11-15 20:52:18 2595 2
原创 webpack学习笔记
目录1 简介2 webpack五个核心概念3 尝试3.1 打包js/json3.2 打包css/less3.3 打包html3.4 打包图片3.5 打包其他资源3.6 devServer4 开发环境基本配置1 简介环境:nodejs 10+、webpack 4.26+webpack:前端资源构建工具,静态模块打包器,将前端所有资源作为模块化处理,分析依赖并打包成静态资源bundle。可以编译转换浏览器无法识别最新的语法:es6或者less等。webpack相当于一个工具集合,里面包含了很多小工具。
2021-10-27 11:12:31 140
原创 JavaScript知识点02
文章目录1 给Object添加属性的两种方式和区别1 给Object添加属性的两种方式和区别var a ={name:"pp",sex:"boy"}// 第一种方式:a['age']=18 // 该种方式添加的属性同初始化对象属性性质相同,可枚举// 第二种方式:Object.defineProperty(a,'age',{value:18}) // 该种方式添加的属性为不可枚举两种区别为是否可枚举,可枚举的属性,可以通过:Object.keys()或者for in来获取键的数组进行遍历!!
2021-10-27 10:04:05 442
原创 Vue2学习笔记2——B站
文章目录3 组件化开发3.1 全局组件和局部组件3.2 父组件和子组件3.2.1 父组件直接访问子组件 $children3.2.2 子组件访问父组件 $parent3.2.3 直接访问Vue实例(顶层)$root3.3 模板抽离3.4 组件data3.5 组件传值props(父组件-->子组件)3.6 组件事件监听$emit(子组件-->父组件)3.6.1 方法一3.6.2 方法二3.7 组件插槽slot3.7.1 具名插槽3.7.2 作用域插槽3.8 动态组件4 模块化开发4.1 Commo
2021-10-20 21:58:06 526
原创 React优化手段
文章目录1 优化原则2 常用手段2.1 单个React组件优化2.2 shouldComponentUpdate解析2.3 PureComponent2.4 使用immutable(ImmutableJS)3 其他优化点1 优化原则不要过早对项目进行优化切勿浪费精力在对整体性能提高的不多的代码上对于关键的性能点尽早优化react使用虚拟dom树提高性能,每次渲染并非抛弃所有重新渲染,而是借助虚拟dom计算dom树的最小修改优化点:在计算前就判定是否需要去重新渲染2 常用手段使用shouldC
2021-05-08 16:18:07 219 2
原创 React之Component和PureComponent区别
文章目录1 两者区别1.1 组件props和state是基础数据类型1.2 组件props和state含有引用数据类型1.3 父组件继承Component,子组件继承PureComponent1.4 父组件继承PureComponent2 适用范围1 两者区别抓住最根本的区别:PureComponent内置了shouldComponentUpdate方法,自动进行了判断,使用的是浅比较判断state和props是否变化,由于是浅比较使用的是===,即判断的是引用地址是否变化,当无变化返回false,不更
2021-04-27 15:29:54 362
原创 Python学习笔记——进阶
文章目录1. 基础1.1 hello world1.2 注释1.3 数据类型1.3.1 整数1.3.2 浮点1.3.3 布尔类型1. 基础使用pycharm进行python学习REPL:read evaluate print loop,交互式命令行1.1 hello worldprint("hello world") # 带换行print("hello world", end="") # 换行替换成空字符串1.2 注释单行:#多行:'''或"""进行包裹1.3 数据类型获取数据类型:
2021-04-17 09:38:11 473 7
原创 Python学习笔记——基础
文章目录1. 基础1.1 hello world1.2 注释1.3 数据类型1.3.1 整数1.3.2 浮点1.3.3 布尔类型1.4 运算符1.4.1 不可变类型对象比较is1.4.2 链式比较1.5 关键字1.6 标识符1.7 None1.8 运算符优先级和结合性1.9 range类1.10 列表1.10.1 创建列表1.10.2 列表元素的索引1.10.3 获取列表元素1.10.4 判断是否存在指定元素1.10.5 修改元素1.10.6 增加元素1. 基础使用pycharm进行python学习R
2021-04-17 09:35:57 351
原创 Java小知识点
目录1 Double类型保留两位小数的方法2 Groovy数组join方法,数组转字符串3 springboot启动时执行初始化代码1 Double类型保留两位小数的方法double x = 21.94832;// 方法1,2为标度,非标度值可以用该值乘10的次幂double y1 = new BigDecimal(x).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();// 方法2,double y2 = new DecimalFormat(
2021-03-03 16:47:50 85 2
原创 springboot jpa批量新增、更新、删除、查询数据
springboot jpa使用:写一个dao层,定义一个类// PersonDao.java@Repositorypublic interface PersonDao extends JpaRepository<PersonPO,String>, JpaSpecificationExecutor<PersonPO>{}在controller层注入该类,并调用即可默认的删除方法有:delete(实体),只能传入一个可以对应到数据库的实体,即数据库中存在一样的数据
2021-03-03 16:02:25 8785 2
原创 React错误边界使用
目录♥1 什么是错误边界2 定义一个错误边界组件3 使用错误边界组件1 什么是错误边界简单理解:专门给崩溃UI的备用UI组件,即原UI发生错误导致无法正常显示崩溃时的处理(一般都有备用UI),他能捕获其内部的组件树上任何js错误注意,无法捕获场景事件处理(事件处理是逻辑部分,不影响UI)异步代码服务端渲染错误边界组件本身错误2 定义一个错误边界组件错误边界是一个组件!内部必须要定义两个方法:static getDerivedStateFromError和componentDidCatc
2021-03-02 22:46:49 179
原创 Vue知识点
目录1 事件总线 $bus1 事件总线 $bus创建一个事件总线,用于发送和监听全局事件,方法是:// 在main.js中添加一个新的Vue实例在Vue原型上Vue.prototype.$bus = new Vue()// 发送事件this.$bus.$emit('xxx')// 监听事件this.$bus.$on('xxx',()=>{})...
2021-02-27 11:54:13 219
原创 better-scroll滚动插件
目录1 介绍1.1 安装1.2 引入1.3 使用2 高级功能2.1 上拉加载(触底加载)2.2 下拉加载(顶部刷新)3 bug3.1 滚动区域bug3.2 使用该滚动插件后sticky属性失效1 介绍better scroll是一个用于滚动的第三方插件,主要用作移动端的页面滚动,具有基础滚动功能和下拉刷新、上拉加载和局部滚动等高级功能1.1 安装安装方式推荐直接npm安装,可以安装核心功能,其他功能作为插件安装,也可以选择全量安装// 核心安装npm install @better-scroll
2021-02-23 20:23:06 624
原创 前后台联动实现网页点击文件下载功能
前提背景:前端使用react,后端使用springboot需求:前台点击按钮,实现后台查询数据库生成报表返回给浏览器下载,使用post请求代码为了使用方便,可以对请求进行封装前端代码request.jsimport axios from 'axios'const requestFile = axios.create({ responseType:blob})requestFile.interceptors.response.use(response => { let d
2021-02-20 10:13:18 508
原创 JSONP原理和CORS跨域
目录1 JSONP2 script跨域3 ajax跨域1 JSONPJSON with padding:填充式的JSON由于ajax如果不设置dataType只能请求同源地址,无法跨域,所以需要使用其他跨域方式,已知三种跨域标签,可以引用别的地方的内容:img、link、script,而只有script引入的为js代码,可以作为js代码去解析,所以使用script标签进行跨域2 script跨域搭建简单的服务器:为保证引入的script代码能被浏览器正确解析,所以返回的内容必须为可解析的js代码
2021-02-06 23:00:30 179
原创 Vue2学习笔记3——B站
目录5 webpack详解5.1 安装5.2 使用5.2.1 webpack配置文件5.2.2 映射命令到package.json5.3 loader5.3.1 css-loader5.3.2 less-loader5.3.3 图片处理loader5.3.4 ES6文件转码 babel-loader5.3.5 webpack配置Vue vue-loader5.4 plugin5.4.1 版权插件5.4.2 打包html到dist插件6 vue-cli7 vue-router8 vuex9 网络10 Rush
2021-02-05 10:44:42 489 1
原创 ES6知识点
1. Promise1.1 基本语法1.2 Promise三种状态1.3 Promise链式调用1.4 Promise.all1.5 Promise.race2 ES6中的箭头语法`=>`3 export和import和commonJS3.1 CommonJS3.2 ES6 export/import3.2.1 export default3.2.2 统一全部导出3.2.3 同时导出默认和普通模块3.2.4 导出模块改名3.3 es6和commonjs导出区别4 class..
2021-01-31 21:04:39 349
转载 VUE-CLI3 vue.config.js配置记录
vue.config.js配置,名称固定,与package.json同级别目录下module.exports = { // 项目部署的基础路径 // 我们默认假设你的应用将会部署在域名的根部, // 比如 https://www.my-app.com/ // 如果你的应用时部署在一个子路径下,那么你需要在这里 // 指定子路径。比如,如果你的应用部署在 // https://www.foobar.com/my-app/ // 那么将这个值改为 `/my-app/` publ
2021-01-31 11:44:50 111
原创 Vue2学习笔记1——B站
目录1 vue介绍2 基本语法3 组件化开发4 vue-cli5 vue-router6 vuex7 网络8 RushB1 vue介绍2 基本语法3 组件化开发4 vue-cli基于构建工具webpack5 vue-router前端路由6 vuex状态管理7 网络8 RushB
2021-01-23 19:04:11 327
原创 React-Router复习——B站
1 路由安装和使用安装依赖npm install react-router-dom --save引入对象import {BrowserRouter as Router, Route, Link} from "react-router-dom";Route组件:负责存放响应地址和响应组件Link组件:负责触发响应Router组件:负责存放所有的响应体,即Route组件必须在Router种使用其中Home和A为React自定义组件<Router> <div
2021-01-09 17:35:18 383
原创 SpringMVC复习——B站
目录1 常识1.1 回顾jsp/servlet2 springmvc2.1 QuickStart(原理讲解,实际中不使用该步骤)2.2 QuickStart2.3 总结3 controller详解3.1 实现接口3.2 注解方式3.3 RESTful风格3.4 结果跳转方式3.5 请求参数3.6 返回结果4 乱码问题4.1 servlet过滤器4.2 spring过滤器4.3 其他方法5 JSON(@RestController)6 SSM整合7 Ajax8 拦截器8.1 拦截器Demo:登录拦截9 文件上
2021-01-01 10:57:49 185
原创 JavaScript复习——B站
目录1 简介2 QuickStart3 类型、运算、变量3.1 字符串3.2 数组3.3 对象3.4 Map和Set4 严格检查模式5 流程控制6 函数6.1 变量作用域6.2 构造函数7 this8 常用对象8.1 Date8.2 JSON8.3 Math8.4 Function9 面向对象9.1 创建对象9.2 对象属性9.3 继承1 简介一种浏览器脚本语言ECMAScript时JavaScript的标准,目前已经到6了,但是目前主流浏览器只支持5,所以需要转换工具将6的语法转换成5的2 Qui
2020-12-30 22:00:48 226
原创 Mybatis复习2——B站
目录8 分页8.1 分页插件9 注解开发9.1 面向接口编程9.2 注解开发(了解,项目不允许使用)10 Mybatis执行流程11 Lombok12 复杂关系查询12.1 多对一12.1.1 子查询12.1.2 结果集映射12.2 一对多12.2.1 子查询12.2.2 结果集映射13 动态SQLifchosesettrimforeachsql14 缓存14.1 一级缓存14.2 二级缓存14.3 自定义缓存14.3.1 使用第三方缓存14.3.2 使用自定义类8 分页SQL分页查询:Limit s
2020-12-16 20:19:27 139 1
原创 Mybatis复习1——B站
目录1 简介工作原理持久化2 搭建环境2.1 创建数据库2.2 创建idea项目2.3 编写核心配置文件2.4 编写mybatis工具类2.5 编写POJO2.6 编写dao接口2.7 编写dao接口配置文件2.8 单元测试2.9 排错2.10 优化1 简介参考文档:https://mybatis.org/mybatis-3/zh/index.html优秀持久化框架,使用简单的xml来映射pojo到数据库简化JDBC代码Mybatis与Hibernate区别:Mybatis:半自动映射框架,需要
2020-12-16 17:54:35 333 1
原创 网络编程复习——B站
目录1. 知识点2. 通信协议3. TCP编程Demo1. 知识点ip地址在java中的实现包:InetAddressip地址作用:确定唯一一台计算机127.0.0.1:本机,等同于localhostip地址分类:ipv4:4个字节组成,0-255,一共42亿个ipv6:16个字节组成,2个字节一组,不同组使用:隔开,(4个16进制数为一组,一共8组)端口:应用程序的入口,不同的进程有不同的端口号,TCP和UDP端口号都有65535个。公有端口:0-1023HTTP:80HTTP
2020-12-13 13:14:42 642
原创 MySQL复习——B站
目录简介安装简介数据库用于存储数据,软件体系的核心数据库分类:关系型和非关系型关系:Mysql、Oracle、SqlServer、DB2、SQLlite非关系:Redis、mongDB关系型存储的是表,包含行和列非关系型:存储对象,对象中的字段由自身的属性来决定,实时更新结构(适用于热搜等业务)DBMS:数据库管理系统使用语言:SQL优点:体积小、速度快、学习成本低,可做集群安装尽量不要使用exe,协助会有残留已经注册表问题使用zip包安装下载解压配置mysql环境变量,bi
2020-12-06 16:50:43 5045
原创 计算机相关知识点复习
目录位移浮点数fdTCP/IP优化修改TIME_WAIT位移位移有三种:<< >> >>>,只有无符号右移,没有左移。有两个规则:正数在右移过程中越来越小,最终为零,当移位等于或超过数据本身位数时,会被减去位数再移位!正数在左移过程中会越来越大,最终把符号位挤掉,当移位等于或超过本身数据位时会被减去位数再移位!负数在右移过程中越来越大,符号位始终不变,最终为-1,当等于或超过本身位数会减去再移动!负数再左移过程中越来越小,最终把符号位挤掉,当等于或超
2020-12-02 10:50:20 143
简约桌面时钟
2018-06-08
react hook组件使用mobx,mobx状态更新但react页面不刷新!
2021-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人