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

相关推荐
搬砖的前端2 小时前
【uniapp蓝牙】基于native.js链接ble和非ble蓝牙
开发语言·javascript·uni-app
minstbe2 小时前
半导体数据分析(二):徒手玩转STDF格式文件 -- 码农切入半导体系列
前端·javascript·数据库
我码玄黄4 小时前
JS设计模式之中介者模式
javascript·设计模式·中介者模式
前端熊猫4 小时前
组件十大传值
前端·javascript·vue.js
GISer_Jing5 小时前
React 工具和库面试题(一)
javascript·react.js·ecmascript
oumae-kumiko5 小时前
【JS/TS鼠标气泡跟随】文本提示 / 操作提示
前端·javascript·typescript
YG·玉方5 小时前
键盘常见键的keyCode和对应的键名
前端·javascript·计算机外设
我码玄黄5 小时前
在THREEJS中加载3dtile模型
前端·javascript·3d·threejs
悠悠华6 小时前
使用layui的table提示Could not parse as expression(踩坑记录)
前端·javascript·layui