自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

joyer

没有看源码的习惯但喜欢探究其本质举一反三

  • 博客(5)
  • 收藏
  • 关注

原创 useState批处理的坑

在学习react的时,关于状态的生效时机,官方说明多个状态在同时执行的时候会被合并(批处理)。在学习hooks时,跟状态相关的useHooks也以为是同样的批处理。如下面代码:import React, { useState, useEffect } from 'react';import ReactDOM from 'react-dom';const Demo = () => { const [a, setA] = useState(''); const [b, setB] = us

2021-11-17 20:42:06 297

原创 手写一个promise

本文遵循的Promise/A+规范实现一个简略版本Promise, 用代码理解规范中的每一句话.Promise/A+英文版规范, 中文版规范;es6中Promise完整规范浏览器中Promise实现Promise 的状态规范描述一个 Promise 的当前状态必须为以下三种状态中的一种:等待态(Pending)、完成态(Fulfilled)和拒绝态(Rejected)。等待态(Pending)处于等待态时,promise 需满足以下条件:可以迁移至执行态或拒绝态完成态(F

2021-11-13 21:08:48 1022

原创 tree-shaking效果探讨

webpack等构建工具提供tree-shaking机制, 利用es6中Module的语法的export和import语法进行静态分析,对无用代码进行剔除,减少打包后的代码量.启动webpack的tree-shaking,需要:webpack在v2.0以上开启代码压缩webpack只是标记语句依赖以及是否使用, tree-shaking的具体实现一般是由压缩器提供实现, 如webpack默认的压缩工具terser-webpack-plug就支持tree-shaking.本文不是讨论如何启用tre

2021-11-13 21:07:55 247

原创 vue新特性provide/inject深入学习

阅读本文帮你你可以在使用provide/inject传递响应式数据时记住一个特性: provide传递的每一个响应式数据都需要值是一个引用不变的可监听对象。在开发vue项目时,不可避免的需要进行组件之间的相互通信。如果是在一个实际的业务项目中, 组件间的通信可以采用采用像vuex, EventBus等机制实现跨组件通信。但如果在开发基础组件库时,需要跟业务项目外部环境(vuex,EventBus)解耦,不可以使用这些机制。一般的解决方案是模仿事件冒泡和广播来实现在基础库中组合组件的通信,比如eleme.

2021-11-13 21:06:47 1208

原创 vue的jsx写法记录

通过本文, 你可以学到一些vue中jsx的语法。vue更加推荐使用模板开发组件,但是在一些基础组件开发中,为了获取js的完全编程能力,不可避免需要使用一些jsx语法,而官方vue jsx对vue特有的语法糖这方面的文档特别少, 本文记录一些本人在开发过程中使用jsx的经验和思考。整体上来看,由于vue的createElement跟react的createElement有区别,导致jsx的写法也有一些区别.但整体上还是符合react的jsx,react jsx进阶的语法。如果需要了解vue jsx特.

2021-11-13 21:05:14 2656 1

空空如也

空空如也

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

TA关注的人

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