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、其它的函数中

相关推荐
Dontla2 小时前
n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node
javascript·机器人·飞书
Hello.Reader7 小时前
Elasticsearch JS 客户端子客户端(Child Client)实践指南
大数据·javascript·elasticsearch
android大哥7 小时前
WeChatExtension-ForMac 微信小插件
javascript
孟陬9 小时前
HTML 处理以及性能对比 - Bun 单元测试系列
react.js·单元测试·bun
辰九九9 小时前
Uncaught URIError: URI malformed 报错如何解决?
前端·javascript·浏览器
小高0079 小时前
React useMemo 深度指南:原理、误区、实战与 2025 最佳实践
前端·javascript·react.js
LuckySusu10 小时前
【js篇】深入理解类数组对象及其转换为数组的多种方法
前端·javascript
LuckySusu10 小时前
【js篇】数组遍历的方法大全:前端开发中的高效迭代
前端·javascript
LuckySusu10 小时前
【js篇】for...in与 for...of 的区别:前端开发中的迭代器选择
前端·javascript
一颗奇趣蛋10 小时前
React.memo & useMemo:为什么 React 里「看起来没变的组件」还是渲染了
前端·react.js