自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 React Hooks生命周期钩子

React Hooks介绍对函数型组件进⾏增强, 让函数型组件可以存储状态, 可以拥有处理副作⽤的能⼒.让开发者在不使⽤类组件的情况下, 实现相同的功能.Hooks 要解决的问题1、缺少逻辑复⽤机制。为了复⽤逻辑增加⽆实际渲染效果的组件,增加了组件层级 显示⼗分臃肿,增加了调试的难度以及运⾏效率的降低2、类组件经常会变得很复杂难以维护。将⼀组相⼲的业务逻辑拆分到了多个⽣命周期函数中在⼀个⽣命周期函数内存在多个不相⼲的业务逻辑3、类成员⽅法不能保证this指向的正确性React Hooks

2021-06-28 22:05:22 1975

原创 数组和链表的区别和优缺点

二者都属于一种数据结构从逻辑结构来看数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素从内存存储来看(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小链表从堆中分配空间, 自由度大但是申

2021-06-03 23:14:22 255

原创 Vue 3.0 性能提升主要是通过哪几方面体现的?

1、响应式系统升级 Vue2响应式原理使用的是 defineProperty,在初始化的时候会遍历所有成员,通过 defineProperty,把对象属性转换成get/set,如果data中的属性又是对象的话需要递归处理每一个子对象的属性,这些都是在初始化的时候执行的,也就是说对于一些未使用到的属性也进行了响应式处理。Vue3响应式原理使用的是proxy对象,proxy的性能本身就要比 defineProperty好,另外,代理对象可以拦截属性的访问、赋值、删除等操作,不需要初始化的时候遍 历所有的属性

2021-04-16 22:26:09 434

转载 Vue.js 3.0 响应式系统的实现原理

Vue3 使用 Proxy 对象重写响应式系统,这个系统主要有以下几个函数来组合完成的:1、reactive:接收一个参数,判断这参数是否是对象。不是对象则直接返回这个参数,不做响应式处理创建拦截器对象 handler, 设置 get/set/deletePropertyget收集依赖(track)返回当前 key 的值。如果当前 key 的值是对象,则为当前 key 的对象创建拦截器 handler, 设置 get/set/deleteProperty如果当前的 key 的值不是对象,则返

2021-04-16 22:24:17 135

原创 Vue 3.0 所采用的 Composition Api 与 Vue 2.x使用的Options Api 有什么区别?

Composition Api 设计动机Vue 2.x在开发中小型项目的时候已经很好用了,但是在开发一些长期迭代的大型项目的时候会有一些限制,项目中可能会有一些功能比较复杂的组件,我们在看他人开发的组件时,可能会很难看懂,原因是Vue 2.x采用的是Options Api,指的是一个描述组件选项的对象,来创建组件的方式,这种方式我们经常使用。我们在创建组件的时候经常使用到data、methods、props、computed、生命周期钩子函数等,这些选项组成一个对象来描述组件,那么同一个功能的代码可能涉及

2021-04-16 22:17:52 422

原创 什么是静态网站生成器

静态网站生成器是使用一系列配置、模板以及数据,生成静态HTML文件及相关资源的工具这个功能也叫预渲染生成的网站不需要类似PHP这样的服务器只需要放到支持静态资源的 Web Server 或 CDN上即可运行静态网站的好处省钱 不需要专业的服务器,只要能托管静态文件的空间即可快速 不经过后端服务器处理,只输出内容即可安全 没后端程序执行,自然会更安全常见的静态网站生成器Jekyll (Ruby)Hexo (Node)Hugo (Golang)Gatsby (Node/R.

2021-04-06 20:54:53 397

原创 项目部署

部署方式配置 Host + Port压缩发布包把发布包传送到服务器解压安装依赖启动服务手动部署1、配置 Host + Port// nuxt.config.js// 设置运行服务环境相关配置server: { host: '0.0.0.0', port: 3000 // 端口号 },// package.json{ "name": "realworld-nuxtjs", "version": "1.0.0", "description": "",

2021-03-28 14:22:54 133

原创 服务端渲染SSR

传统的服务端渲染有很多问题,但是这些问题随着客户端 Ajax 技术的普及得到了有效的解决,Ajax 技术可以使得客户端动态获取数据变为可能,也就是说原本服务端渲染这件事儿也可以拿到客户端做了。下面是基于客户端渲染的 SPA 应用的基本工作流程。

2021-03-16 23:10:23 185

原创 Vue 首次渲染的过程

1、Vue初始化 实例成员、静态成员2、初始化结束后调用new Vue()构造函数3、在new Vue()构造函数中调用this._init()方法,这个方法相当于整个vue的入口4、在this._init()方法中定义了 vm.mount()此处定义的mount() 此处定义的mount()此处定义的mount为入口文件中的src\platforms\web\entry-runtime-with-compiler.js,核心作用是把模板编译成render函数,首先会先判断是否传入render,如.

2021-03-11 22:48:19 197

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除