草庐IT

大家都能看得懂的源码 - 如何封装 cookie/localStorage/sessionStorage hook?

本文是深入浅出ahooks源码系列文章的第九篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。今天来看看ahooks是怎么封装cookie/localStorage/sessionStorage的。cookieahooks封装了useCookieState,一个可以将状态存储在Cookie中的Hook。该hook使用了js-cookie这个npm库。我认为选择它的理由有以下:包体积小。压缩后小于800字节。自身是没有其它依赖的。这对于原本就是一个工具库的ahooks来讲是很重要的。更好的兼容性。支持所有的浏览器。并支持任意的字符。当然,它还有其他的特点,比如支持E

大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(一)

本文是深入浅出ahooks源码系列文章的第十四篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。上一篇我们探讨了ahooks对DOM类Hooks使用规范,以及源码中是如何去做处理的。接下来我们就针对关于DOM的各个Hook封装进行解读。useEventListener优雅的使用addEventListener。我们先来看看addEventListener的定义,以下来自MDN文档:EventTarget.addEventListener()方法将指定的监听器注册到EventTarget上,当该对象触发指定的事件时,指定的回调函数就会被执行。这里的EventTa

大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(一)

本文是深入浅出ahooks源码系列文章的第十四篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。上一篇我们探讨了ahooks对DOM类Hooks使用规范,以及源码中是如何去做处理的。接下来我们就针对关于DOM的各个Hook封装进行解读。useEventListener优雅的使用addEventListener。我们先来看看addEventListener的定义,以下来自MDN文档:EventTarget.addEventListener()方法将指定的监听器注册到EventTarget上,当该对象触发指定的事件时,指定的回调函数就会被执行。这里的EventTa

大家都能看得懂的源码 - ahooks 这些 hook 更优雅管理你的状态

本文是深入浅出ahooks源码系列文章的第十二篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。今天我们来聊聊ahooks中那些可以帮助我们更优雅管理我们state(状态)的那些hook。一些比较特殊的,比如cookie/localStorage/sessionStorage,useUrlState等,我们已经单独拿出来细讲了,感兴趣可以看看笔者的历史文章。useSetState管理object类型state的Hooks,用法与class组件的this.setState基本一致。先来了解一下可变数据和不可变数据的含义和区别如下:可变数据(mutable)即一个数据

大家都能看得懂的源码 - ahooks 这些 hook 更优雅管理你的状态

本文是深入浅出ahooks源码系列文章的第十二篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。今天我们来聊聊ahooks中那些可以帮助我们更优雅管理我们state(状态)的那些hook。一些比较特殊的,比如cookie/localStorage/sessionStorage,useUrlState等,我们已经单独拿出来细讲了,感兴趣可以看看笔者的历史文章。useSetState管理object类型state的Hooks,用法与class组件的this.setState基本一致。先来了解一下可变数据和不可变数据的含义和区别如下:可变数据(mutable)即一个数据

React Hooks 的实现必须依赖 Fiber 么?

作者:zxg_神说要有光原文链接:https://juejin.cn/post/7087172219226292237React的hooks是在fiber之后出现的特性,所以很多人误以为hooks是必须依赖fiber才能实现的,其实并不是,它们俩没啥必然联系。现在,不止react中实现了hooks,在preact、reactssr、midway等框架中也实现了这个特性,它们的实现就是不依赖fiber的。我们分别来看一下这些不同框架中的hooks都是怎么实现的:react如何实现hooksreact是通过jsx描述界面的,它会被babel或tsc等编译工具编译成renderfunction,然后

React Hooks 的实现必须依赖 Fiber 么?

作者:zxg_神说要有光原文链接:https://juejin.cn/post/7087172219226292237React的hooks是在fiber之后出现的特性,所以很多人误以为hooks是必须依赖fiber才能实现的,其实并不是,它们俩没啥必然联系。现在,不止react中实现了hooks,在preact、reactssr、midway等框架中也实现了这个特性,它们的实现就是不依赖fiber的。我们分别来看一下这些不同框架中的hooks都是怎么实现的:react如何实现hooksreact是通过jsx描述界面的,它会被babel或tsc等编译工具编译成renderfunction,然后

Angular--父子组件生命周期钩子(lifecycle hooks)执行过程

1.angular组件生命周期钩子执行过程 组件初始化过程中,生命周期钩子执行顺序:constructor()构造函数,初始化class,(constructor不属于Angular生命周期钩子的范畴,这里只是说明组件组件初始化会先调用构造函数)。ngOnChanges()--如果组件没有输入属性(@Input()),或者使用时没有提供任何输入属性,那么angular不会调用它;会调用多次。ngOnInit()--只调用一次,一般用来初始化数据,如请求数据。ngDoCheck()--紧跟在每次执行变更检测时的ngOnChanges()和首次执行变更检测的ngOnInit()后调用;会调用多次。

Angular--父子组件生命周期钩子(lifecycle hooks)执行过程

1.angular组件生命周期钩子执行过程 组件初始化过程中,生命周期钩子执行顺序:constructor()构造函数,初始化class,(constructor不属于Angular生命周期钩子的范畴,这里只是说明组件组件初始化会先调用构造函数)。ngOnChanges()--如果组件没有输入属性(@Input()),或者使用时没有提供任何输入属性,那么angular不会调用它;会调用多次。ngOnInit()--只调用一次,一般用来初始化数据,如请求数据。ngDoCheck()--紧跟在每次执行变更检测时的ngOnChanges()和首次执行变更检测的ngOnInit()后调用;会调用多次。

vue3与react、 react hooks

一、Vue3新特性:setup、ref、reactive、computed、watch、watchEffect函数、生命周期钩子、自定义hooks函数、toRef和toRefs、shallowReactive与shallowRef、readonly与shallowReadonly、toRaw与markRaw、customRef、provide与inject、Fragment、Teleport、Suspense、data选项应始终被声明为一个函数2、setup是所有composition API(组合式api)展示的舞台,返回一个对象,则对象中的属性、方法,在模板中均可以直接使用,setUp(p