前言:Ahooks是Ali开源的高质量且可靠的React Hooks库。由于我想提高定义挂钩的能力,所以我去看了Ahooks的实现。
该函数的钩子是维护保留返回功能的参考的功能,并且恢复始终是最新的
通过保存最新功能,然后维护功能的引用不变,应用程序方案
用法相当于,但它会忽略第一个执行,并且仅在依赖update.typescript时执行
用法相当于,但它会忽略第一个执行,并且仅在依赖更新时执行。
上面的两个API都取决于上述
它用于确定它是否是第一个呼叫,并且第一次未执行回调,并且状态已更新。执行回调后,请遵循-up -up
仅在组件初始化时挂钩。
通过使用效率将空和DEP的数组传递,仅实现一次。
当执行第一个执行时,将采用该方法,并且将标记组件的光纤。当组件在舞台上时,组件将使用异步调用来安排回调。
当组件更新后,这是一种方法。该方法将与DEP进行比较。当新的和旧的DEP不一致时,它将进行更新。当引入空数组时,遍历遍历直接穿越且未更新。
注意!在React 18中,在严格的模式下,当依赖项为零时,它们在严格的模式下被称为两次。
创建执行:create => destory =>创建
严格的效果将首先安装组件,然后破坏组件,然后安装组件,以确保清洁实际清洁并不会留下一些副作用。
问题讨论:将可重复使用的状态添加到Strictmode
卸载组件时执行的挂钩。
为什么要使用安装?它是为了解决关闭问题。
因为将空数组传递,当组件安装时,调节执行,函数的形成,安装在效应对象上。然后,此useffect函数的恢复将不再执行不会更新,但外部变速箱将会改变。每个函数组件执行可能会生成一个新的功能。如果您安装了新功能,则可以访问最新功能,因为引用不会更改。
获取挂钩是否已卸载当前组件。
执行功能时,状态将更改为true。执行回调时
管理对象类型状态的钩子基本与类组件一致。
基础处理逻辑主要与旧状态相结合,将有浅合并,并将偿还。
这是为了帮助您合并
用于在两个状态值之间切换的挂钩。
注意!此钩将忽略值的变化,因为UseMeMo使用的依赖项是一个空数组
钩在优雅的布尔州。
此钩子基于Usetoggle
一个人可以存储可以存储在cookie中的钩子。
挂钩存储的状态在localstorage中。
挂钩存储的状态在SessionStorage中。
这两个钩子都是基于和浏览环境判断的
浏览器环境判断
CreateUsestoestatate
注意!当浏览器完全禁用cookie时,请使用存储报告错误:因此使用该软件包
当用户浏览器完全禁用cookie时,浏览器将禁用一些API,并且每个浏览器都会不同。
这些浏览器中的禁用cookie将禁用以下功能:
有关详细信息,请参阅:
当禁用cookie时,USELOCALSTORAGESTATATATATATA会丢失错误,并且会话存储 /本地存储是否可以禁用并启用Cookie?
...有很多钩子,随后的补品
原始:https://juejin.cn/post/7099061472893861919