当前位置: 首页 > article >正文

React基础之自定义hook函数

自定义Hook是以use打头的函数,通过自定义Hook函数可以来实现逻辑的封装与复用

封装自定义hook的通用思路

1.声明一个以use大头的函数

2.在函数体内封装可复用的逻辑

3.把组件中用到的状态或者是状态以对象或是数组的形式return出去

4.在需要使用组件的地方,执行这个函数,结构出需要使用的状态和回调进行使用

import React, { useState } from 'react';

import { useEffect } from 'react';

function useToggle(){

  const [value,setValue]=useState(true)

  const toggle=()=>{

    setValue(!value)

  }

  //那些状态和回调函数需要在其他组件中使用 return

  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;

ReactHooks使用规则

1.只能在组件中或其他自定义hook函数中调用

2.只能在组件的顶层调用,不能嵌套在if、for、其他函数中

import React, { useState } from 'react';

useState('')//错误的

function App() {

if(Math.random()>0.5){

  useState('')//错误的

}

  return (

    <div>

   

    </div>

  );

}

export default App;


http://www.kler.cn/a/577445.html

相关文章:

  • 阿里云操作系统(AliOS)
  • 一周热点-Claude 3.7 Sonnet-在响应和思考模型之间切换
  • 2025最新群智能优化算法:海市蜃楼搜索优化(Mirage Search Optimization, MSO)算法求解23个经典函数测试集,MATLAB
  • 《Python实战进阶》No15: 数据可视化:Matplotlib 与 Seaborn 的高级用法
  • 游戏引擎学习第145天
  • java2025年常见设计模式面试题
  • RK3568平台(camera篇)media_profiles_default.xml 解析
  • Ubuntu20.04搭建gerrit code review
  • C++第十节:map和set的介绍与使用
  • 图像清晰度评价函数设计
  • 26、《Spring Boot OpenFeign:声明式服务调用与熔断降级深度实践》
  • 百度移动生态事业群聚焦UGC战略,贴吧迎新调整
  • AIGC生图技术的发展历程
  • 【SpringMVC】深入解析@ RequestMapping 注解的概念及使用和 MVC 介绍
  • 晏殊几何学讲义
  • C++:string容器(下篇)
  • clickhouse的优缺点
  • python实战项目61:去除文本中的表情符号
  • 基于Python+Django的网上招聘管理系统
  • qt ui相关的第三方库插件库