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、其他函数中
相关推荐
每天吃饭的羊2 分钟前
LeetCode 第一题
前端
Ahtacca2 分钟前
拒绝重复造轮子:利用自定义注解封装POI,实现Java通用Excel解析
java·javascript·vue·excel
入门级前端开发3 分钟前
vue集成xlsl实现前端表格导入导出
前端·javascript·vue.js
2501_944521597 分钟前
Flutter for OpenHarmony 微动漫App实战:列表项组件实现
android·开发语言·javascript·flutter·ecmascript
小二·7 分钟前
Python Web 开发进阶实战:联邦学习平台 —— 在 Flask + Vue 中构建隐私保护的分布式 AI 训练系统
前端·python·flask
弓.长.8 分钟前
小白基础入门 React Native 鸿蒙跨平台开发:实现九宫格图片选择
react native·react.js·harmonyos
一人の梅雨14 分钟前
中国制造网商品详情接口进阶实战:跨境场景下的差异化适配与问题攻坚
java·前端·javascript
无知的小菜鸡19 分钟前
React:使用高阶组件实现vue中的路由守卫功能
前端·vue.js·react.js
xzl0419 分钟前
小智服务器intent_type 初始化为function_call过程
linux·前端·数据库
弓.长.24 分钟前
小白基础入门 React Native 鸿蒙跨平台开发:ImageBackground毛玻璃背景效果
react native·react.js·harmonyos