react渲染原理分析 2020-06-26| React 前言本篇文章作为react源码分析与优化写作计划的第一篇,分析了react是如何创建vdom和fiber tree的。本篇文章通过阅读react 16.8及以上版本源码以及参考大量分析文章写作而成,react框架本身算法以及架构层也是不断的在优化,所以源码中存在很多legacy的方法,不过这并不影响 ...
Read more 从斐波那契数列看两种常用算法和优化 2020-04-07| 算法系列 | 算法系列 欢迎关注我:Github
斐波拉契数列是一个非常经典的数学概念,早在 1202 年就由意大利数学家 Leonardo Fibonacci 提出。它的递推方法定义为:F(1) = 1, F(2) = 1, F(n) = F(n - 1) + F(n - 2)(n ≥ 3,n ∈ N*)。本文主要从递归 ...
Read more 基于TypeScript与React Hooks开发的通用组件库 2020-02-01| React | React 项目地址:react-draggable-layer
前言2019 年以来,越来越多的公司与项目都选择使用强类型语言 TypeScript 作为主要语言,可以预见的是 2020 年 TypeScript 将成为前端开发所需要具备的能力之一。
目前前端工程师使用最多的无疑问是微软开源的 VSCode, ...
Read more 如何优雅的使用Web Worker 2020-01-07| 源码系列 | 源码系列 欢迎star:complex-calculations-worker
Web Worker是HTML5中提出的概念,用来处理独立于主线程处理高费时的任务,从而不会阻塞主线程。目前绝大部分浏览器都支持Web Worker功能,不过使用时要注意它不能操纵DOM元素、同源政策等问题。
Web Worker ...
Read more React Hooks技术最佳实践(二) 2019-11-07| React | React useEffectuseEffect是除useState之外使用最常用的Hooks之一,它可以用来管理副作用,替代传统class组件中的componentDidMount和componentWillUnmount方法或是根据依赖项来执行代码。
useEffect的用法并不复杂,但是如果对于它的执行过 ...
Read more React Hooks技术最佳实践(一) 2019-10-15| React | React 前言React 16.8版本发布于2019年2月6号,它带来了Hooks特性,能够让我们不编写class的情况下也能使用state以及其他的React特性。一个新技术的诞生必然会影响原来的思维模式,在最初的应用中也会碰见很多意想不到的场景和陷阱,这就需要我们在使用他们前清楚的知道哪里可能会有潜在的问 ...
Read more Memoization技术在React中的应用 2019-09-26| React | React 最近在研究React Hook优化时,发现Memoization技术被官方广泛的使用,比如useCallback和useMemo这两个API,分别用来返回函数的memoized版本和memoized值。Memoization其实并不是什么新技术,只是一种优化技巧,维基百科对Memoization的定 ...
Read more 使用React Hook实现Redux状态机 2019-09-13| React | React
Redux is a predictable state container for JavaScript apps.
本文的代码可以在CodeSandbox中查看。
Redux是React经常用到的一个数据状态管理器(状态机),它将应用中所有的数据(state)以对象树的形式存储在store中 ...
Read more Reselect源码解析 2019-09-03| 源码系列 | 源码系列 Reselect主要为Redux的state数据提供了Memoize功能。它能够计算数据,传递最少且必要的state值;具有高性能,只在传递值改变时才会重新计算;具有可组合性,可以将它作为参数传递给其他selectors执行。
下面是个最基础的使用方式,可以跳转codepen来运行栗子
crea ...
Read more