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

相关推荐
超人气王15 小时前
新手学前端JS浅拷贝和深拷贝:对象复制竟然是个“替身文学”?
javascript·面试
YHL15 小时前
📚 JS执行机制(执行上下文 + 调用栈 + 编译流程)
前端·javascript
不简说15 小时前
这次真香!sv-print 可视化打印设计器更新:插件脚手架、Excel 导出、弹窗 API 三连发
前端·javascript·前端框架
无聊的老谢15 小时前
Web GIS 最佳实践:Vue 集成 Leaflet/OpenLayers 实现基站海量点位渲染
前端·javascript·vue.js
yingyima15 小时前
GCP Cloud Scheduler 核心语法与实战示例速查手册
前端
用户573501072520615 小时前
Elpis 项目阶段性总结 - 基于 vue3 完成领域模型架构建设
前端
东风破_15 小时前
V8 如何执行你的代码——编译、上下文与调用栈
javascript
假如让我当三天老蒯15 小时前
为什么 setData 能获取到 prev 参数?(自学用)
前端·react.js
AskHarries16 小时前
Workspace:文件系统、项目上下文和执行边界
java·服务器·前端
Aphasia31116 小时前
从内存模型看深浅拷贝
前端·javascript·面试