女王控的博客

高级前端

12 篇文章

React技术解密笔记——实现篇

Diff 算法 概览 在 beginWork 一节我们提到 对于 update 的组件,他会将当前组件与该组件在上次更新时对应的 Fiber 节点比较(也就是俗称的 Diff 算法),将比较的结果生成新 Fiber 节点。 这一章我们讲解 Diff 算法的实现。 你可以从 这里 看到 Diff 算法的介绍。 为了防止概念混淆,这里再强调下 一个 DOM 节点在某一时刻最多会有 4 个节点和他相关。 current Fiber。如果该 DOM 节点已在页面中,current Fiber… »

React技术解密笔记——架构篇

render 阶段 流程概览 本章我们会讲解 Fiber 节点是如何被创建并构建 Fiber 树的。 render 阶段开始于 performSyncWorkOnRoot 或 performConcurrentWorkOnRoot 方法的调用。这取决于本次更新是同步更新还是异步更新。 我们现在还不需要学习这两个方法,只需要知道在这两个方法中会调用如下两个方法: 可以看到,他们唯一的区别是是否调用 shouldYield。如果当前浏览器帧没有剩余时间,shouldYield… »

React技术解密笔记——理念篇

React 理念 React 理念 我们可以从官网看到 React 的理念: 我们认为,React 是用 JavaScript 构建快速响应的大型 Web 应用程序的首选方式。它在 Facebook 和 Instagram 上表现优秀。 可见,关键是实现快速响应。那么制约快速响应的因素是什么呢? 我们日常使用 App… »

JS风格指南

介绍 不必严格遵守本文的所有原则,有时少遵守一些效果可能会更好,具体应根据实际情况决定。这是根据《代码整洁之道》作者多年经验整理的代码优化建议,但也仅仅只是一份建议。 软件工程已经发展了 5… »

插件机制、拦截器、中间件

前言 前端中的库很多,开发这些库的作者会尽可能的覆盖到大家在业务中千奇百怪的需求,但是总有无法预料到的,所以优秀的库就需要提供一种机制,让开发者可以干预插件中间的一些环节,从而完成自己的一些需求。 本文将从 koa、axios、vuex 和 redux 的实现来教你怎么编写属于自己的插件机制。 axios 首先我们模拟一个简单的 axios,这里不涉及请求的逻辑,只是简单的返回一个 Promise,可以通过 config 中的 error 参数控制 Promise 的状态。 axios… »

0%