react自定义hooks函数

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

例如:这里多个地方要使用一个函数 来控制元素的显示隐藏

javascript 复制代码
import { useState } from "react"
​
function useToggle () {
  // 可复用的逻辑代码
  const [value, setValue] = useState(true)
  const toggle = () => setValue(!value)
  // 哪些状态和回调函数需要在其他组件中使用 return
  return {
    value,
    toggle
  }
} 
export {useToggle}
​
​
function App () {
  const { value, toggle } = useToggle()
  return (
    <div>
      {value && <div>this is div</div>}
      <button onClick={toggle}>toggle</button>
    </div>
  )
}
​
export default App

封装UI组件

UI组件是负责数据的渲染,不需要use开头 也就是一些通用的html

React Hooks使用规则

  1. 只能在组件中或者其他自定义Hook函数中调用 例如在function App () {)函数当中调用

  2. 只能在组件的顶层调用,不能嵌套在if、for、其它的函数中

相关推荐
Never_Satisfied31 分钟前
在JavaScript / HTML中,div容器在内容过多时不显示超出的部分
开发语言·javascript·html
ZHOUYUANN1 小时前
我用JavaScript复刻了某宝的小游戏动物大迁徙消消乐
前端·javascript·游戏开发
Asort1 小时前
JavaScript设计模式(十三)——责任链模式:构建灵活高效的请求处理链
前端·javascript·设计模式
摸着石头过河的石头2 小时前
JavaScript继承与原型链:揭开对象传承的神秘面纱
前端·javascript
LRH2 小时前
React 双缓存架构与 diff 算法优化
前端·react.js
用户6387994773052 小时前
我把我的 monorepo 迁移到 Bun,这是我的真实反馈
javascript·架构
用户57973883973152 小时前
JavaScript(Node.JS) 使自定义类可以通过下标访问内部可迭代值
javascript
博客zhu虎康2 小时前
Element中 el-tree 如何隐藏 Tree 组件中的父节点 Checkbox
javascript·vue.js·elementui
欧阳天2 小时前
http环境实现通知
前端·javascript
中微子2 小时前
别再被闭包坑了!React 19.2 官方新方案 useEffectEvent,不懂你就 OUT!
前端·javascript·react.js