React 自定义hook及一个hook库分享

自定义Hook是React16.8引入的新特性,允许开发者在函数组件中复用状态逻辑。它们以`use`开头,可以调用内置Hook如useState和useEffect。自定义Hook需遵循特定规则,如在函数组件顶层使用。文章提到了ahooks库,这是一个提供多种实用Hook的库,包括useReactive、useNetwork等,且支持SSR和TypeScript。
摘要由CSDN通过智能技术生成

什么是自定义hook

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。

  • React提供的hook:useState、useEffect.....
  • 自定义hook:通过一个以“use”开头命名的函数,实现一些功能逻辑,内部可以调用其他hook。通过自定义 Hook,可以将组件逻辑提取到可重用的函数中

hooks的规则

  • 只在最顶层使用hooks,不要在循环、条件或者嵌套中调用hook
  • 只在react函数(react函数组件、自定义hook组件)中调用hook,不要在普通的javascript函数中调用
  • 可以使用eslint-plugin-react-hooks来强制执行这两条规则

自定义hook的规则

  • 本质是一个函数,以“use”开头
  • 内部正常使用useState、useEffect或者其他hooks自定义返回结果,格式不限。
  • 每次调用 Hook,它都会获取独立的 state

示例

useFullscreen

useMap

一个好用的hooks库:ahooks

特性

  • 易学易用
  • 支持 SSR
  • 对输入输出函数做了特殊处理,避免闭包问题
  • 包含大量提炼自业务的高级 Hooks
  • 包含丰富的基础 Hooks
  • 使用 TypeScript 构建,提供完整的类型定义文件
几个hooks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值