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

相关推荐
尾善爱看海8 小时前
Vue 面试收官篇:SSR、性能优化落地、30 道高频面试题精讲(附标准答案)
前端·javascript·vue.js·面试·vue
李明卫杭州13 小时前
React 复合事件系统对比解析
前端·javascript·react.js
LEE14 小时前
前端转型全栈 01:数据建模,前端最大的盲区
前端·javascript·后端
雪芽蓝域zzs14 小时前
第四十七节:驾驶舱大屏 ECharts 图表集成
前端·javascript·vue.js
梦醒沉醉16 小时前
7、表达日期和时间(前朝遗老Date)
javascript
白雾茫茫丶16 小时前
Vibecoding 一个主题切换动画库:13 种揭幕方式
前端·vue.js·react.js
雪芽蓝域zzs16 小时前
第四十九节:TagsView 右键菜单(带三角箭头)给每个 tag 增加**鼠标右键菜单**(右键标签弹出:关闭、关闭其他、关闭全部)
前端·javascript·vue.js
এ慕ོ冬℘゜16 小时前
从零开发移动端医院挂号页面:适配、交互与前端实现详解
前端·javascript
宁渡AI大模型16 小时前
AI 全栈面试新趋势:Vibe Coding、前端、Java 后端高频面试题深度解析|河南宁渡科技有限公司编程教程
java·javascript·人工智能·python·ai大模型
东风微鸣17 小时前
AI依赖更新别裸奔🚨
javascript