美文网首页
06react18-基础篇-自定义hook

06react18-基础篇-自定义hook

作者: 东邪_黄药师 | 来源:发表于2024-03-09 22:02 被阅读0次

自定义Hook实现

自定义Hook是以 use打头的函数,通过自定义Hook函数可以用来实现逻辑的封装和复用

image.png
封装自定义hook通用思路
    1. 声明一个以use打头的函数
    1. 在函数体内封装可复用的逻辑(只要是可复用的逻辑)
    1. 把组件中用到的状态或者回调return出去(以对象或者数组)
    1. 在哪个组件中要用到这个逻辑,就执行这个函数,解构出来状态和回调进行使用
// 封装自定义Hook
// 问题: 布尔切换的逻辑 当前组件耦合在一起的 不方便复用
// 解决思路: 自定义hook

import { useState } from "react"
function useToggle () {
  // 可复用的逻辑代码
  const [value, setValue] = useState(true)
  const toggle = () => setValue(!value)
  // 哪些状态和回调函数需要在其他组件中使用 return
  return {
    value,
    toggle
  }
}

function App () {
  const { value, toggle } = useToggle()
  return (
    <div>
      {value && <div>this is div</div>}
      <button onClick={toggle}>toggle</button>
    </div>
  )
}

export default App

React Hooks使用规则

  1. 只能在组件中或者其他自定义Hook函数中调用
  2. 只能在组件的顶层调用,不能嵌套在if、for、其它的函数中

相关文章

  • 在React中创建自定义hook

    什么是自定义hook? 使用自定义hook可以将某些组件逻辑提取到可重用的函数中。 自定义hook是一个从use开...

  • react的一些总结

    什么时候自定义Hook? 当多个组件之间有一些公共的逻辑,可以将他们抽取成自定义的Hook,Hook本质是自定义的...

  • 自定义Hook & 高阶组件

    自定义Hook 自定义Hook: 将一些常用的、跨越多个组件的Hook功能,抽离出去形成一个函数,该函数就是自定义...

  • 自定义hook

    自定义hook 需求描述:自定义一个hook函数,实现获取滚动距离Y const [y] = useWindowS...

  • 安卓自定义View教程-1

    基础篇 安卓自定义View基础 - 坐标系 安卓自定义View基础 - 角度弧度 安卓自定义View基础 - 颜色...

  • fishHook-代码实例

    可以HOOK系统的C函数,但无法HOOK自定义的函数 fishHook 无法交换自定义函数!!!,这个函数肯定是C...

  • [转]自定义View的学习

    原文连接 如何关闭硬件加速 自定义View 基础篇 安卓自定义View基础 - 坐标系 安卓自定义View基础 -...

  • DebugValue Hook

    DebugValue Hook useDebugValue:用于将自定义Hook的关联数据显示到调试栏 如果创建的...

  • [react]24、自定义hooks

    1、自定义Hook的基本使用 自定义Hook本质上只是一种函数代码逻辑的抽取,严格意义上来说,它本身并不算Reac...

  • Hook

    Hook 概念和特点 useState useRef EffectHook 自定义钩子 useCallback u...

网友评论

      本文标题:06react18-基础篇-自定义hook

      本文链接:https://www.haomeiwen.com/subject/oepuzdtx.html