Redux 的实现

最近在复习 React 的过程当中,在网上发现了一篇关于 Redux 手动实现方式的 系列文章,收益良多,所以打算在这里汇总整理一下,一方面加深一下对于 Redux 的理解,另一方面也方便以后可以经常回来温习温习,内容有所删减和补充,更多内容可以参考原文

React 生命周期

React16.0 的版本当中,针对其之前的生命周期钩子进行了一定层度上的调整,所以在本章当中我们就来简单的汇总一下两个版本的生命周期有什么区别,以及为什么要进行这样的调整,更多关于 React 生命周期相关内容可以参考 官方文档

Virtual DOM 与 Diff 算法内容总结

之前我们借住 HcySunYang/vue-design 分了三部分分别介绍了 Virtual DOMdiff 算法相关内容,如下

本章是在之前的基础之上,将分散的代码汇总一下,做一下整体上的梳理,也算是一个小小的总结

渲染器的核心 Diff 算法

最近在深入学习 Virtual DOM 的相关知识,参考了许多资料,也拜读了许多大神的文章,所以在这里大致的整理成了比较适合自己理解的方式,方便时不时回来翻翻,复习一下,篇幅较长,主要会分为三个部分来分别进行介绍,具体章节如下,目录名就差不多代表了章节的相关内容

在上一章当中,我们主要讨论了渲染器是如何更新各种类型的 VNode 的,本章是第三部分,也是最后一部分,主要介绍渲染器当中的核心,也就是传说中的 diff 算法,主要参考的是 HcySunYang/vue-design,本章相关内容如下

渲染器

最近在深入学习 Virtual DOM 的相关知识,参考了许多资料,也拜读了许多大神的文章,所以在这里大致的整理成了比较适合自己理解的方式,方便时不时回来翻翻,复习一下,篇幅较长,主要会分为三个部分来分别进行介绍,具体章节如下,目录名就差不多代表了章节的相关内容

在上篇的 什么是 Virtual DOM? 章节当中我们介绍过 Virtual DOM 的相关概念,以及如何将 Virtual DOM 渲染为真实的 DOM 节点和一个辅助创建 VNodeh 函数,本章是第二部分,我们就接着之前的内容来介绍渲染器相关内容,参考的是 HcySunYang/vue-design,本章相关内容如下

什么是 Virtual DOM?

最近在深入学习 Virtual DOM 的相关知识,参考了许多资料,也拜读了许多大神的文章,所以在这里大致的整理成了比较适合自己理解的方式,方便时不时回来翻翻,复习一下,篇幅较长,主要会分为三个部分来分别进行介绍,具体章节如下,目录名就差不多代表了章节的相关内容

本篇是第一部分,主要介绍 Virtual DOM 相关内容,主要参考的是 HcySunYang/vue-design,本章相关内容如下

Redux 中的 Middleware

之前在学习 Koa.js 当中的 中间件 部分时,曾经接触到过中间件这个概念,也了解洋葱模型这个概念,所以在今天我们就来深入的了解一下 Redux 当中与其十分类似的 middleware

Redux 源码初探

在之前的章节当中我们介绍了 Flux 与 ReduxRedux、Flux 和 React-Redux 三者之间的区别,这一章我们就深入的来了解一下 Redux 的源码结构,先来看看 Redux 的源码目录,如下所示

1
2
3
4
5
6
7
8
├── utils/
│ ├── warning.js // 控制台显示警告信息
├── applyMiddleware.js
├── bindActionCreators.js
├── combineReducers.js
├── compose.js
├── createStore.js
├── index.js // 入口文件

Redux、Flux 和 React-Redux 三者之间的区别

在之前的章节 Flux 与 Redux 当中,我们介绍了 FluxRedux 的一些基本概念和它们之间的一些区别,今天我们在来看看另外一个和它们比较类似的 React-Redux,然后在简单汇总一下,比较一下它们三者之间的区别,不过在看 React-Redux 的内容之前,我们先来简单的回顾一下上一章的内容

Flux 与 Redux

最近在学习 Redux 的相关知识,然后在学习的过程中又发现了一个与它关系十分密切的 Flux,而且除了这两个之外,还有一个 React-Redux,为了弄清它们三者之间的差异,所以就打算抽点时间来整理整理 ReduxFluxReact-Redux 这三者的关系与区别,我们就先从一切的起源 Flux 开始看起

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×