2021/05/19 17:20
2021年520前夕。近一年来主要都在做业务,不过对不断提升Coding质量与速度的追求和思考一直没停过。机缘巧合之下,有幸着重花时间完善了一套稳定、易用的状态管理方案。
作者在工作历程中,由最...
2020/12/31 23:55
由于最近业务较忙,2020年搞懂React原理系列文章最终篇直到现在才在业余时间抽空完成。之前在公司内部已有过一次PPT形式的分享,但经过一段时间对hooks的深度使用,对其又有了更深一些了解,故本次...
2020/06/21 22:43
若要高效阅读和理解React源码,搭建调试环境是必不可少的一步。而常规方法:使用`react.development.js`和`react-dom.development.js`调试,虽然方便,但无法知道每段代码属于哪个细分文件,所以本文将介绍一种取巧的方法搭建便于调试React源码的环境,支持断点调试细分文件,并且此方法理论上可应用于所有Reat版本。
2020/05/11 11:23
自上一篇写关于diff的文章到现在已经过了二十天多,利用业余时间和10天婚假的闲暇,终于搞懂了React源码中的调度原理。当费劲一番周折终于调试到将更新与调度任务连接在一起的核心逻辑那一刻,忧愁的嘴角...
2020/04/09 09:00
时隔2年,重新看React源码,很多以前不理解的内容现在都懂了。本文将用实际案例结合相关React源码,集中讨论React Diff原理。使用当前最新React版本:16.13.1。
另外,今年...
2020/03/30 09:30
若读者对“强缓存”,“协商缓存”字眼非常熟悉,但又不知道他们具体是什么,亦或有读者还不了解HTTP缓存,那么本文将为读者一一讲解。
HTTP缓存流程
在介绍什么是强缓存、协商缓存前,让我们先了解HT...
2020/01/15 09:09
继React,Vue,这是第三个着重阅读源码的前端项目-Webpack。本文主要以:
WHY: 为何要看Webpack源码
HOW: 如何阅读Webpack源码
WHAT: 看完源码后...
2019/07/04 08:15
项目是公司主打业务产品之一的可视化子项目,与其他子项目几乎没有耦合,所以可以单独拎出来重构。
2019/04/23 15:00
打算用React写对话框已经很长一段时间,现在是时候兑现承诺了。实际上,写起来相当简单。
核心在于使用React的接口React.createPortal(element, domContain...
2019/03/28 10:00
在学习了常用的排序算法之后,打算用动画Demo来生动形象的展现它们。
这里包含6种排序算法,其中一半是简单算法,另一半是高级算法:
冒泡排序
选择排序
插入排序
~
归并排序
希...
2019/03/02 11:00
节流(分流),与防抖(去抖)实现原理相似。本文主要讨论节流,镜像文章:防抖 - 理解,实践与实现。分开讨论防抖和节流,主要是为了让一些还不太了解节流防抖的读者能够有针对性地,逐一掌握它们。
如何用代码...
2018/12/18 09:27
16年开始使用react-redux,迄今也已两年多。这时候再来阅读和读懂redux/react-redux源码,虽已没有当初的新鲜感,但依然觉得略有收获。把要点简单写下来,一方面供感兴趣的读者参考,...
2018/09/19 18:02
防抖(去抖),以及节流(分流)在日常开发中可能用的不多,但在特定场景,却十分有用。本文主要讨论防抖,镜像文章:节流 - 理解,实践与实现。分开讨论防抖和节流,主要是为了让一些还不太了解防抖节流的读者能...
2018/07/06 17:50
如要自动引入Vue组件,首先需安装VSCode拓展: Vetur
自动引入VUE组件和普通JS模块
在根目录添加 jsconfig.json 。
每次修改jsconfig.json后需重启该VSCo...