React(7)

embedded/2025/2/13 17:25:07/

hooks

封装自定义hook通用思路
//1.声明一个以use打头的函数
// 2.在函数体内封装可复用的逻辑(只要是可复用的逻辑)
// 3.把组件中用到的状态或者回调return出去(以对象或者数组)
// 4.在哪个组件中要用到这个逻辑,就执行这个函数,解构出来状态和回调进行使用

javascript">import {  useState } from "react";
function Son() {return <div>son组件</div>;
}
// 自定义hooks 
// 注意函数的写法为匿名函数还是声明函数
function useTaggle() {const [Show, setShow] = useState(true);function taggle (){setShow(!Show)} return {Show,taggle,};
}
function App() {// 在组件中使用需要进行结构const { Show, taggle } = useTaggle();// const [Show, setShow] = useState(true);// const taggle=setShow(!Show)return (<div className="App">{Show && <Son></Son>}<button onClick={taggle}>卸载组件</button></div>);
}export default App;

使用规则

只能在组件中或者其他自定义HOOK函数中使用

只能在组件的顶层调用  不能在if for 其他函数中使用


http://www.ppmy.cn/embedded/161915.html

相关文章

Springboot 中如何使用Sentinel

在 Spring Boot 中使用 Sentinel 非常方便&#xff0c;Spring Cloud Alibaba 提供了 spring-cloud-starter-alibaba-sentinel 组件&#xff0c;可以快速将 Sentinel 集成到你的 Spring Boot 应用中&#xff0c;并利用其强大的流量控制和容错能力。 下面是一个详细的步骤指南 …

ubuntu22.04 git clone问题

ubuntu22.04 git clone问题 问题1 解决办法&#xff1a; 原因&#xff1a; 可能是HTTP/2协议出现的问题&#xff0c;同时数据传输量过大。

chrome-mojo idl

概述 Mojom 是 Mojo 接口的 IDL。给定一个.mojom文件&#xff0c;绑定生成器可以输出的语言&#xff1a;C、JavaScript或Java。 举一个简单的例子&#xff0c;考虑我们写入的以下假设的 Mojom 文件//services/widget/public/mojom/frobinator.mojom&#xff1a; module widg…

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-20- 操作鼠标拖拽 - 上篇(详细教程)

1.简介 本文主要介绍两个在测试过程中可能会用到的功能&#xff1a;在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如&#xff1a;需要在一堆log字符中随机划取一段文字&#xff0c;然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释…

Java面试——Tomcat

优质博文&#xff1a;IT_BLOG_CN 一、Tomcat 顶层架构 Tomcat中最顶层的容器是Server&#xff0c;代表着整个服务器&#xff0c;从上图中可以看出&#xff0c;一个Server可以包含至少一个Service&#xff0c;用于具体提供服务。Service主要包含两个部分&#xff1a;Connector和…

android studio下载安装汉化-Flutter安装

1、下载android studio官方地址&#xff1a;&#xff08;这个网址可能直接打不开&#xff0c;需要VPN&#xff09; https://developer.android.com/studio?hlzh-cn mac版本分为X86和arm版本&#xff0c;电脑显示芯片是Inter的就是x86的&#xff0c;显示m1和m2的就是arm的 …

Docker 部署 MYSQL-5.7 主从

一、拉取对应镜像 docker pull registry.cn-hangzhou.aliyuncs.com/farerboy/mysql:5.7 二、部署主节点 1、创建对应需要的目录 mkdir -p /wwwroot/opt/docker/mysql-master-3306/log mkdir -p /wwwroot/opt/docker/mysql-master-3306/data mkdir -p /wwwroot/opt/docker/m…

DeepSeek 深度解析:引领 SEO 与数据分析新时代的智能工具

DeepSeek 深度解析&#xff1a;引领 SEO 与数据分析新时代的智能工具 &#x1f680; 在当今数字化时代&#xff0c;网站排名与数据驱动的决策对企业发展至关重要。如何在激烈的市场竞争中精准捕捉用户需求、优化内容策略&#xff1f;答案可能就在 DeepSeek 中。本文将从核心理…