因为手头上了项目暂时告一段落,也终于有时间可以回过头来总结总结,因为在之前关于 React
的使用也仅仅只局限在小型应用当中,而目前完结的这个项目算是整体基于 React
全家桶搭建而成的项目
当然在开发当中也遇到了不少棘手的问题,也踩了不少的坑,尤其是关于 Hook
的一些使用方面,所以也就打算抽些时间,重新温故一下文档以及参考一些前辈们整理的文章,简单的梳理一下在使用 Hook
过程当中遇到的一些问题和总结
因为手头上了项目暂时告一段落,也终于有时间可以回过头来总结总结,因为在之前关于 React
的使用也仅仅只局限在小型应用当中,而目前完结的这个项目算是整体基于 React
全家桶搭建而成的项目
当然在开发当中也遇到了不少棘手的问题,也踩了不少的坑,尤其是关于 Hook
的一些使用方面,所以也就打算抽些时间,重新温故一下文档以及参考一些前辈们整理的文章,简单的梳理一下在使用 Hook
过程当中遇到的一些问题和总结
因为最近在项目当中使用了较多的 Hook
来进行开发,用到了不少的自定义 Hook
,期间也踩了不少的坑,所以打算在这里简单的总结梳理一下
因为我们在之前的 React 中的 Hook 章节当中已经梳理过了关于 Hook
的一些基本使用内容,所以这里也就不再多做提及,我们主要来深入的了解一些自定义 Hook
的封装和使用方式
我们在之前的文章当中梳理了 React Fiber 相关内容,了解了 Fiber
的基本作用以及它内部一些简单的运行原理,所以在本章当中我们来继续深入理解其原理,尝试尝试手动的模拟实现一个简易版本的 Fiber
架构,本文主要参考的是 Build your own React,内容有所调整,主要是为了方便自己理解,更多详细内容可以查看原文,下面我们就先从 JSX
开始看起
完整代码地址可见 Fiber 架构的简单实现
我们都知道,React
是一个用于构建用户交互界面的 JavaScript
库,其核心机制就是跟踪组件的状态变化,并将更新的状态映射到到新的界面,在 React
中,我们将此过程称之为『协调』(Reconcilation
),我们调用 setState
方法来改变状态,而框架本身会去检查 state
或 props
是否已经更改来决定是否重新渲染组件,React
的官方文档对 协调机制 进行了良好的抽象描述,即
React
的元素、生命周期、render
方法,以及应用于组件子元素的Diffing
算法综合起到的作用,就是『协调』
我们在之前的章节当中已经整体的梳理一遍 React
当中的几种状态逻辑复用的方式,从 Mixin 到 HOC,再到最后的 Hook,虽然 Hook
算是比较新的内容,但是它也已经渐渐开始变得普及起来
所以在本章当中,我们就来深入的了解一下 Hook
当中的 useEffect
,主要参考的是官方 FAQ
当中的 如果我的 effect 的依赖频繁变化,我该怎么办?,更多详细内容可以参考文档
我们在之前 React 中的 Mixin 和 React 中的 HOC 的章节当中介绍了 Mixin
和 HOC
的相关内容,了解了它们大致的实现原理和使用方式,也知道了 HOC
的出现就是为了替代 Mixin
,但是 HOC
也并非完美无缺,它其实也是存在着一些缺陷的,比如
HOC
需要在原组件上进行包裹或者嵌套,如果大量使用 HOC
,将会产生非常多的嵌套,这让调试变得非常困难HOC
可以劫持 props
,在不遵守约定的情况下也可能造成冲突所以在本章当中我们就来看看 React
中的 Hook
是如何同时解决 Mixin
和 HOC
所带来的问题的
我们在之前的 React 中的 Mixin 章节当中介绍了一些 Mixin
的基本原理和它存在的一些问题,而且在之前我们也提到过,React
现在已经不再推荐使用 Mixin
来解决代码复用问题,因为 Mixin
带来的危害比他产生的价值还要巨大,推荐我们使用高阶组件来替代它,所以在本章当中我们就来深入的了解一下什么是高阶组件,它的实现方式和应用场景以及存在的一些问题
最近在复习到 React
高阶组件相关内容的时候,发现之前比较常见的 Mixin
已经差不多被废弃了,而 HOC
相关内容也渐渐的在被 Hook
所替代,只能感叹变化太快
所以在这里打算重新的从头梳理一下,将之前博客当中关于 React
的一些过时内容也删减整合一下,也算是重新的温习一下 React
当中的几种状态逻辑复用的方式,也就是 Mixin
,HOC
和 Hook
它们几者的实现原理、使用方法、实际应用以及如何选择等内容
我们先从快要被抛弃的 Mixin
开始看起,不过内容不会介绍很多,毕竟现在使用的已经不是很多了
接上回 Redux 的实现,我们在之前的章节当中,从一个简单的示例开始一步一步推导出 Redux
的实现方式,但是之前我们也提到过,它其实跟 React
一点关系都没有,所以在本章当中我们会把 React
和 Redux
结合起来,用 Redux
模式帮助我们来管理 React
的应用状态
本章主要用于记录一些 React
相关知识点,因为最近在复习 React
相关内容,发现版本迭代了许多,废弃了很多 API
,也添加了一些新的方法(比如生命周期钩子等),所以就简单的在这里汇总整理一下,也算是查漏补缺
Update your browser to view this website correctly. Update my browser now