Skip to content

woow-wu7/7-a-hooks3.0-source-code-analysis

Repository files navigation

a-hooks3.0 源码分析

(一) 任务清单 - 完成度

  • useMount 只在组件初始化时执行
  • useUnmount 只在组件卸载时执行
  • useUnmountRef 组件是否已经卸载
  • useUpdate 强制更新组件
  • useUpdateEffect 忽略首次渲染时的执行,只在依赖更新时执行,参数和返回值类型和 useEffect 一样
  • useClickAway 监听目标元素外的事件
  • useLockFn 用于给一个异步函数增加竞态锁,防止并发执行;原理同 useThrottleFn,应付异步情况
  • useThrottleFn 截流函数
  • useThrottleEffect 为 useEffect 增加节流的能力 - 很精妙
  • useThrottle 为 一个值 添加截流能力,和 useThrottleEffect 的实现差不多,可以叫做 useThrottleValue
  • useToggle 取反,支持 0,1,2 个参数的取反
  • useBoolean 利用 useToggle 很容易实现
  • useEventListener 优雅的使用 addEventListener
  • useTitle 设置页面标题
  • useMemoizedFn 持久化 function,相当于 2.0 时的 usePersistFn
  • useSet 和 useMap
  • useAsyncEffect

(二) 其他源码分析

(1) redux 和 react-redux 源码分析 [redux^4.0.5]

(2) 手写 webpack Compiler 源码 [webpack^4.42.0]

(3) axios 源码分析 [axios^0.20.0]

(4) vue 源码分析 [vue^2.6.12]

(5) vuex 源码分析 [v2.6.10]

(6) react 源码分析 [react^17.0.3]

(7) a-hooks2.0 源码分析 [a-hooks^2.10.9]

(8) a-hooks3.0 源码分析 [a-hooks^2.10.9]

(9) koa 源码分析 [koa^2.13.1]

(10) badJs-report 源码分析

(11) element-ui 源码分析

About

a-hooks3.0源码分析

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published