React自定义Hook

自定义Hook函数

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

js 复制代码
import {useState} from "react";

function CompA () {
    return <div>这是子组件</div>
}

// 自定义hook
function useToggle() {
    const [show, setShow] = useState(true)
    const toggle = () => setShow(!show)
    return {
        show,
        toggle,
    }
}

function App() {
    const {show, toggle} = useToggle()
    return (
        <div>
            {show && <CompA/>}
            <button onClick={() => toggle()}>点击</button>
        </div>
    );
}

React Hook使用规则

使用规则

  1. 只能在组件中或者其他自定义Hook函数中调用
  2. 只能在组件的顶层调用,不能嵌套在if、for、其他函数中
相关推荐
ZoeLandia4 分钟前
Qiankun 生命周期与数据通信实战
前端·微前端·qiankun
LawrenceLan4 分钟前
Flutter 零基础入门(十五):继承、多态与面向对象三大特性
开发语言·前端·flutter·dart
二川bro12 分钟前
详细解析 cesiumViewer.render() 和 requestAnimationFrame(render)
前端
前端付豪15 分钟前
必知Node应用性能提升及API test 接口测试
前端·react.js·node.js
boooooooom20 分钟前
手写简易Vue响应式:基于Proxy + effect的核心实现
javascript·vue.js
王同学 学出来24 分钟前
vue+nodejs项目在服务器实现docker部署
服务器·前端·vue.js·docker·node.js
一道雷29 分钟前
让 Vant 弹出层适配 Uniapp Webview 返回键
前端·vue.js·前端框架
bug总结39 分钟前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript
晴殇i42 分钟前
深入理解MessageChannel:JS双向通信的高效解决方案
前端·javascript·程序员
毕设十刻44 分钟前
基于Vue的民宿管理系统st4rf(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js