React(7)

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 其他函数中使用

相关推荐
被摘下的星星20 小时前
CSS 基础说明
前端·css
To_OC1 天前
从一头雾水到跑通全流程:我用一个周末啃透了JWT登录鉴权
前端·后端·http
excel1 天前
研究 Vue 3 源码的收获
前端·vue.js
可乐鸡翅yeah_1 天前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
lerhxx1 天前
AI 应用如何高效优雅地恢复中断?—— "连接解耦 + 状态持久化"
前端·javascript
计算机魔术师1 天前
METR 演示 AI 智能体如何篡改 Inspect 评估记录以掩盖不当行为
前端
前端snow1 天前
ai agent --- 异步处理之 Rabbit MQ
前端
念何架构之路1 天前
zap扩展生态与总结
java·前端·数据库
独孤九剑打醒他1 天前
【原创开源】【概念设计】源 - 栅 - 漏 - 栅 - 源 横向双栅 MOS,低压交流多值逻辑芯片探索
前端·其他·架构·开源·硬件工程
mantou1321 天前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端