当前位置: 首页 > 网络应用技术

Ahooks源代码分析提高了您编写自定义钩的能力

时间:2023-03-06 01:52:56 网络应用技术

  前言: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