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、其他函数中
相关推荐
小小小小宇14 分钟前
Pi 手动添加
前端
BreezeJiang20 分钟前
为什么生成了 dist,项目还是可能跑不起来?从一个 React + Express + MySQL 项目看部署闭环
nginx·react.js
奴心23 分钟前
我受够了 value / defaultValue / onChange 三连——一个 prop 重构 React 受控组件
react.js
用户2986985301424 分钟前
React 中 HTML 内容转 Word 文档的实现方案
javascript·react.js·html
然我25 分钟前
模型不是 Agent:从零实现一个最小 Agent Loop
前端·人工智能·agent
mONESY29 分钟前
我用 Next.js 16 + Supabase 从零做了个「背单词」H5 应用
javascript
boooooooom32 分钟前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
小小善后师33 分钟前
HID 设备对接技术解析:基于本地中间服务的 WebSocket 通信模式
前端
黄油面包35 分钟前
Codex 额度三天见底后,我重新做了一周预算
前端·人工智能
PedroQue9938 分钟前
v2.7.1:修复 H5 端返回死循环闪烁问题
前端·uni-app