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

相关推荐
前端无涯36 分钟前
React中setState后获取更新后值的完整解决方案
前端·react.js
前端不太难1 小时前
Navigation State 驱动的页面调试方法论
开发语言·前端·react.js
狗狗摇屁屁2 小时前
JS手写防抖
开发语言·javascript·ecmascript
清风细雨_林木木2 小时前
Chart.js和 Echart的区别
开发语言·javascript·ecmascript
沐泽__2 小时前
iframe内嵌页面双向通信
前端·javascript·chrome
小北方城市网2 小时前
第4 课:Vue 3 路由与状态管理实战 —— 从单页面到多页面应用
前端·javascript·vue.js
interception3 小时前
爬虫逆向,瑞数6,补环境,国家专利
javascript·爬虫·python·网络爬虫
掘金安东尼3 小时前
顶层元素问题:popover vs. dialog
前端·javascript·面试
掘金安东尼3 小时前
React 的新时代已经到来:你需要知道的一切
前端·javascript·面试
1024肥宅4 小时前
现代 JavaScript 特性:TypeScript 深度解析与实践
前端·javascript·typescript