源码解析
文章平均质量分 94
尝试解读沉淀有意思的各类源码
问白
网易高级前端开发工程师
展开
-
深入了解Promise机制并使用JS实现一个Promise(二)
Promise 实例的 catch() 方法用于注册一个在 promise 被拒绝时调用的函数。它会立即返回一个等效的 Promise 对象,这可以允许你链式调用其他 promise 的方法。此方法是 Promise.prototype.then(undefined, onRejected) 的一种简写形式。我们看下原生promise.catch的效果finally() 方法返回一个 Promise。原创 2023-07-02 23:48:08 · 175 阅读 · 0 评论 -
深入了解Promise机制并使用JS实现一个Promise(一)
关于为什么会有Promise以及Promise的一些用法和基本机制可以参考之前的文章JS中的异步与Promise使用整体来说,Promise可以帮助我们很好的解决异步的问题,号称是异步的终极解决方案。在浏览器中Promise是使用C++实现的,今天就使用js来实现一个JS版本的Promise。这样可以更深层次的帮助我们理解Promise每一个Promise对象都有三种状态: pending 、resolve 和 rejectPENDING : 进行中,Promise 对象的初始状态。原创 2023-07-01 23:50:09 · 473 阅读 · 0 评论 -
ReactRedux源码解析与实现
在Redux源码解析与实现(一)Redux源码解析与实现(二)两篇文章中我们知道了通过可以帮助我们在大型复杂的应用中解决状态管理的问题,但我们也发现,只是分析的基本使用和源码之后,梳理了整个逻辑图如下所示:react-redux的基本使用ract-redux的核心实现Redux源码解析与实现(一)Redux源码解析与实现(二)原创 2023-08-30 21:56:17 · 201 阅读 · 0 评论 -
Redux中间件源码解析与实现
本文中涉及到的关键npm包的版本信息如下:react 的版本为18.2.0redux的版本为4.1.2redux-thunk版本为2.4.2redux-promise版本为0.6.0redux-logger版本为3.0.6在Redux源码解析与实现(一)Redux源码解析与实现(二)这两篇文章中,详细讲解了怎么实现一个Redux的核心功能,而Redux默认只能够处理的参数,所以我们需要引用各种中间件来加强dispatch,使其能够传递异步函数或者是promise。原创 2023-09-06 18:30:32 · 696 阅读 · 0 评论 -
Redux源码解析与实现(二)
就是一个React的合成事件,React就会对其对应的映射值做以上三步骤的处理。React内部将所有的方法都做了一个映射表。比如我们通常写的业务代码中。,之所有React有自己的合成事件系统可以总结成三个原因。React 中有自己的事件系统模式,通常被称为。,那么在Ract内部的所有方法的映射对象中查找。那就不会走React的合成事件系统了。,发现有在映射对象中有登记,那。映射的结果了,或者使用原生的。那在映射表中自然就找不到。原创 2023-07-29 13:59:10 · 117 阅读 · 0 评论 -
Redux源码解析与实现(一)
通过自定义Hook的方式我们就解决了组件之间状态共享的问题,没有给原本的组件增加复杂度。2、还有一点就是我们可能在组件的某个生命周期做很多事情,比如在组件加载完成时进行一些事件的订阅,发出一些请求。但这类的方案需要重新组织组件的结构,也就是会影响到我们原本的组件之间的结构。表单数据收集时(比如点击了表单的submit,此时表单组件需要把各个子组件的状态收集放回给你注册的回调事件中)就会比较麻烦。在Antd3中的解决方案其实是把表单内的子组件的转态都存储在顶层的父组件组件。的方式解决的,但也有弊端。原创 2023-07-29 13:36:56 · 134 阅读 · 0 评论 -
RC-Field-Form源码解析与实现
本文中涉及到的关键npm包的版本信息如下:react 的版本为18.2.0rc-field-form的版本为1.37.0是一个非常受欢迎的前端表单组件库,AntDesign中的Form表单就是基于实现的。今天就来解析一下的源码部分,并且会自己实现一个相同功能的。原创 2023-08-30 21:46:55 · 624 阅读 · 0 评论