React-封装自定义Hook

1.声明函数

说明:声明一个以use打头的函数

function useToggle(){}

2.封装

说明:在函数体内封装可复用的逻辑

  const [value,setValue]=useState(true)const toggle=()=>{setValue(!value)}

3.返回

说明:把组件中用到的状态或者回调return

  return {value,toggle}

4.解构

说明:组件中用到这个逻辑,就执行这个函数同时解构出变量

const {value,toggle}=useToggle()

5.源码

//封装自定义Hook 
// 问题 :布尔值的逻辑 当前组件耦合在一起的 不方便复用import { useState } from "react";function useToggle(){const [value,setValue]=useState(true)const toggle=()=>{setValue(!value)}return {value,toggle}
}function App() {
const {value,toggle}=useToggle()return (<div>{ value&&<div>this is div</div>} <button onClick={toggle}>toggle</button></div>);
}export default App;

6.使用规则

说明: 只能在组件中或者其他自定义Hook函数中调用;只能在组件的顶层调用,不能在if、for、其他函数中调用函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于JVM的小总结(待补充)

JVM组成及他们之间的关系 装载类子系统字节码执行引擎运行时数据区 装载类子系统 类加载器字节码调节器类加载运行时数据区 字节码执行引擎 运行时数据区 线程私有 虚拟机栈本地方法栈程序计数器 线程共享 堆方法区&#xff08;元空间&#xff09;

后见之明!错过6个涨停板之后的复盘

在今年1月2日和1月3日&#xff0c;旅游板块两支个股先后涨停&#xff0c;此后一支月内三倍&#xff0c;另一支连续6个涨停。事后复盘&#xff0c;我们如何在1月2日第一支个股涨停之后&#xff0c;通过量化分析&#xff0c;找出第二支股&#xff1f; 一个3倍&#xff0c;一个6连…

Java 包和 API 深度解析:组织代码,避免命名冲突

Java 包和 API Java 中的包 用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突&#xff0c;并编写更易于维护的代码。 包分为两类: 内置包&#xff08;来自 Java API 的包&#xff09;用户定义的包&#xff08;创建自己的包&#xf…

维修ESA 数控折弯机CNC S 530 系统工控屏 S525 工业电脑显示屏

了解数控机床的组件可以帮助您充分利用该设备。 了解各种机器零件是有意义的&#xff0c;因为制造业的这些主力随处可见。 CNC 系统只会越来越受欢迎。 到2030年&#xff0c;美国数控机床市场规模将达到40亿美元。 我们首先回顾一下数控机床的定义及其优点。 然后我们将识别每…

根据全量知识系统内容规划-百度文库AI应用中心给出的答复

以下是就前面的文章&#xff08;全量知识系统的完整设计考虑和规划 之序 内容规划&#xff09;&#xff0c;和百度文库AI应用中心的答问。 全量知识系统的完整设计考虑和规划 之序 内容规划-CSDN博客 答问 Q1~6. 请对我以上设计规划&#xff0c;作出分析和完善&#xff0c;并…

M1电脑 Xcode15升级遇到的问题

遇到四个问题 一、模拟器下载经常报错。 二、Xcode15报错: SDK does not contain libarclite 三、报错coreAudioTypes not found 四、xcode模拟器运行一次下次必定死机 一、模拟器下载经常报错。 可以https://developer.apple.com/download/all/?qios 下载最新的模拟器&…

线程使用Runnable还是Callable

Callable接口 Runnable的缺陷 在创建线程的时候不管是继承Thread类(Thread本身也是实现的Runnable接口)还是实现Runnable接口&#xff0c;所实现的run()方法都没有返回值&#xff0c;使得需要将返回值写到map中&#xff0c;等到线程结束再去从map中取数据&#xff0c;特别的不方…

网站被插入虚假恶意链接怎么办?

在当前的电信和网络环境中&#xff0c;诈骗案件频发&#xff0c;许多受害者不幸上当&#xff0c;主要原因是他们点击了诈骗者发送的假链接。这些诈骗网站经常模仿真实网站的外观&#xff0c;使人难以分辨真伪。那么&#xff0c;我们应如何鉴别这些诈骗链接呢&#xff1f; 下面…

多个数据库驱动并存情况下无法找到数据库驱动问题解决

最近在打fat-jar包时&#xff0c;出现一个问题&#xff0c;运行fat-jar时报错&#xff1a; 2024-03-08 10:08:08.772 WARN [Thread-5] c.k.s.f.ExternalFuncClassLoader : 创建了未包含任何路径的自定义类加载器实例 2024-03-08 10:08:08.781 INFO [Thread-5] c.k.…

leetcode 2834.找出美丽数组的最小和

这道题作者一开始用的暴力解法&#xff0c;效果还不错&#xff0c;但是对于特别大的数据是过不去的。 先讲一下我暴力的思路&#xff1a;作者用了双指针的解法&#xff0c;我们可以先定义一个数组&#xff0c;就是把数组从1开始考虑&#xff0c;n个连续整数输入到里面去。 然…

工业制氧机的使用与维护管理指南

工业制氧机是工业生产中不可或缺的重要设备&#xff0c;其高效稳定的供氧功能对于保障生产过程的顺利进行至关重要。为了确保工业制氧机能够持续高效地提供氧气&#xff0c;正确的使用方法和维护措施是必不可少的。 在使用工业制氧机时&#xff0c;我们首先要确保设备放置在通风…

网络聊天室的UDP实现以及数据库

网络聊天室UDP实现 服务器端&#xff1a; 头文件&#xff1a; #include <myhead.h>//定义客户信息结构体 typedef struct magtye {char type; //消息类型char name[100]; //客户姓名char text[1024]; //客户发送聊天信息 }msg_t;//定义结构体存储…

mysql的语法总结2

命令&#xff1a; mysql -u 用户名 -p mysql登录 命令&#xff1a;create database u1 创建数据库u1 查询数据库 使用数据库u1 创建表department 查询表department ALTER TABLE 表名 操作类型&#xff1b; 操作类型可以有以下的操作&#xff1a; 添加列&#x…

ZCC3808 低静态电流、可编程延迟监控电路 替代TPS3808

1 特性 • 上电复位发生器具有可调节延迟时间&#xff1a;1.25ms 至10s • 超低静态电流&#xff1a;2.4μA&#xff08;典型值&#xff09; • 高阈值精度&#xff1a;0.5% 典型值 • 提供适用于标准电压轨的 0.9V 至 5V 固定阈值电压且可调节电压低至 0.4V • 手动复位 …

CubeMX使用教程(2)——点亮LED

在上一章&#xff0c;我们完成了CubeMX的环境配置&#xff0c;这一章我们通过CubeMX来完成点亮LED的工作。 通过LED原理图可知&#xff0c;如果我们要点亮LD1&#xff08;第一个灯&#xff09;&#xff0c;它对应开发板的PC8端口&#xff0c;因此我们应该在CubeMX中将PC8配置为…

【并查集】一种简单而强大高效的数据结构

目录 一、并查集原理 二、并查集实现 三、并查集应用 1. LeetCode并查集相关OJ题 2. 并查集的其他应用及总结 一、并查集原理 并查集&#xff08;Disjoint Set&#xff09;是一种用来管理元素分组和查找元素所属组别的数据结构。它主要支持两种操作&#xff1a;查找&…

公司内部的手机拍照管理办法建议

公司内部的手机拍照管理是一项重要的工作&#xff0c;因为它涉及到公司的信息安全、知识产权保护和隐私保护等方面。以下是一些建议的公司内部手机拍照管理办法&#xff1a; 明确拍照目的和范围&#xff1a;首先&#xff0c;公司应明确员工使用手机拍照的目的和范围。例如&…

JavaScript进阶 (1)

封装 构造函数存在问题 js可以通过构造函数进行封装&#xff0c;但存在浪费内存问题 每创建新的对象引用数据类型就开辟新的空间 原型 构造函数通过原型分配函数是所有对象所共享的 每一个构造函数都有一个prototype属性&#xff0c;指向另一个对象&#xff0c;也称为原型…

小型内衣裤洗衣机哪个牌子好?四款高热度内衣洗衣机力荐

相信很多用户从小就有个观念&#xff0c;内衣裤不能跟其他衣物一起混合洗&#xff0c;否则会感染细菌&#xff0c;所以不少人的内衣裤一直都是自己手洗的&#xff0c;清洗内衣裤不算麻烦&#xff0c;但日常都要换洗&#xff0c;对一个白天上班已经很累的人来说&#xff0c;真是…

COM(Component Object Model)通信技术

COM&#xff08;Component Object Model&#xff09;通信技术是一种用于组件之间通信的二进制接口标准&#xff0c;它允许在不同进程或计算机上的组件进行交互。以下是 COM 通信技术的一些基本原理&#xff1a; 1. 二进制接口&#xff08;Binary Interface&#xff09;&#x…