React 自定义hook函数

jetson agx orin开箱及接口介绍 阅读详情

 自定义hook函数可以干什么

让操作逻辑和渲染相分离

比如,下面这个场景:

在Home.jsx组件中,我们既在该组件里面,向后端发起请求获取频道数据(操作逻辑),也将交互后的响应频道数据渲染到了组件中(渲染),为了提高解耦性,我们可以使用自定义hook函数,将逻辑和渲染相分离。

const Home = () => {
    const [channels, setChannels] = useState([])
    
    useEffect(()=>{
        const getChannels = async () => {
            const res = await fetchChannelsApi()
            setChannels(res.data)
        }
    },[])

    return (
        <div>
            <Tabs>
                {channels.map((channel)=>(
                    <Tabs.Tab title={channel.name} key={channel.id}></Tabs.Tab>
                ))}
            </Tabs>
        </div>
    )
}

export default Home

自定义hook函数的命名规范:需要以use单词开头 

根据上下文环境,我们将这个hook函数,取名为useChannels.jsx

注意!不要忘记将响应后的数据channels返回出去

function useChannels(){
    const [channels, setChannels] = useState([])
    
    useEffect(()=>{
        const getChannels = async () => {
            const res = await fetchChannelsApi()
            setChannels(res.data)
        }
        getChannels()
    },[])

    return {
        channels
    }
}

export {useChannels}

然后在Home.jsx中,我们就只需要导入useChannels,并使用其中的channels数据,渲染到组件上就行了

import { useChannels } from './useChannels'

const Home = () => {
    const { channels } = useChannels()

    return (
       <div>
            <Tabs>
                {channels.map((channel)=>(
                    <Tabs.Tab title={channel.name} key={channel.id}></Tabs.Tab>
                ))}
            </Tabs>
        </div>
    )
}

export default Home

这样是不是就看着简洁多啦! 

参考视频

黑马Reacticon-default.png?t=N7T8https://www.bilibili.com/video/BV1ZB4y1Z7o8?p=161&spm_id_from=pageDriver&vd_source=ed7ea38c90ed7a2d62c11f3dce1f109a

【微知】关于GB200 NVL72服务器的一些信息?(36CPU72GPU;LPDDR5X 17T;HBM3e 13.5T;5代NVlink 1.8TB; 720P算力FP8;120Kw) 本文仅根据官网介绍分析,存在纰漏仅供参考。 阅读详情

相关推荐

一窥Memory测试算法及自我修复机制

摘要 为了满足新一代设备的需求,Memory的大小每三年就会增加4倍。深亚微米设备包含大量面积更小、访问速度更快的Memory。针对此类设计制定自动测试策略可以减少ATE(自动测试设备)的时间和成本。 内存故障的行为与经典的“Stuck-At”故障不同。因此,Memory的故障模型(由于其阵列结构)与标准逻辑的设计也是不同的。Memory测试除了进行故障检测和定位,还可以实现用冗余单元对...

路科验证 2万+

React基础之自定义hook函数

自定义Hook是以use打头的函数,通过自定义Hook函数可以来实现逻辑的封装与复用。4.在需要使用组件的地方,执行这个函数,结构出需要使用的状态和回调进行使用。3.把组件中用到的状态或者是状态以对象或是数组的形式return出去。2.只能在组件的顶层调用,不能嵌套在if、for、其他函数中。1.只能在组件中或其他自定义hook函数中调用。那些状态和回调函数需要在其他组件中使用。1.声明一个以use大头的函数。2.在函数体内封装可复用的逻辑。封装自定义hook的通用思路。ReactHooks使用规则。

m0_73035591的博客 549

手把手教你用分立元件搭建自举电路:解决高端MOS驱动难题

本文详细介绍了如何用分立元件搭建自举电路,解决高端MOS驱动中的栅源极电压不足问题。通过面包板实验,逐步讲解二极管、电容等关键元件的选型与电路搭建,提供波形调试和常见问题排查方法,帮助工程师提升开关电源和电机驱动等应用的效率与可靠性。

weixin_30555125的博客 153

【React】自定义hook函数

子组件</div>setIsShow(!isShow)return {isShow,togglereturn (<button onClick={toggle}>点击我,隐藏子组件</button>

在热爱技术的路上一直前行。 830

EDA公司(一):Synopsys-- 主要 EDA 工具及其简介

Synopsys 是一家领先的电子设计自动化(EDA)软件公司,提供了一系列全面的产品和服务,旨在支持从概念设计到大规模生产的各个阶段。Synopsys 的 EDA 工具覆盖了芯片设计的各个方面,包括但不限于逻辑综合、静态时序分析、功能验证、物理实现、形式验证、测试插入、电源分析、信号完整性分析等。

MHD0815的博客 3311

基于 SpringAI 整合 DeepSeek 模型实现 AI 聊天对话

很多云平台都提供了一键部署大模型的功能,这里不再赘述(阿里云百炼平台、火山方舟-火山引擎等)Ollama。

📜一个热爱探索的人 1279

React-自定义Hook函数,ReactHooks使用规则

声明一个use开头的函数在函数体内封装可复用的逻辑把组件中用到的状态或者回调return出去(以对象或者数组的形式)在哪个组件中要用到这个逻辑,就执行这个函数,解构出状态和回调进行使用。

m0_68716504的博客 413

linux基线检查、基线加固、安全漏扫、系统漏洞、centos7、文尾部附脚本

等保三级-CentOS Linux 7合规基线检查 风险分类:系统-等保三级-CentOS Linux 7合规基线检查 检测项说明: CentOS Linux 7合规基线检查,对标中国等保2.0第三级等级保护基本要求部分检查项目,仅供参考 检查项目 : 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换 加固建议: 1、执行`cat /etc/shadow | awk -F: '($2 == "" ) { print $1}' `, 查看空密码账户并处理; 2、

swindy博客 5624

为何 React Hooks 只能在函数组件或自定义 Hook 顶部调用

本文深入解析了React Hooks必须在函数组件或自定义Hook顶部调用的原因。Hooks通过链表结构存储状态,依赖稳定的调用顺序来准确匹配和更新状态。在循环或条件语句中使用Hooks会导致顺序混乱,引发状态错乱。顶部调用保证了顺序一致性,便于React进行静态分析和性能优化。同时,这一规则确保了自定义Hook的复用性及与React生态的兼容性。开发者必须遵守该规则,才能正确利用Hooks的强大功能,避免状态管理问题。

你若盛开,清风自来 765

Autosar NvM配置-手动配置Nvblock及使用-基于ETAS软件

NVM作为存储协议栈中最顶层的模块,是必须要掌握的。目前项目基本使用MCU带的Dflash模块,使用Fee模拟eeprom。在项目前期阶段,应该充分讨论需要存储的内容,包括应用数据,诊断数据等,用以评估Dflash空间是否够用。本文基于ETAS软件介绍NVBlock配置生成NVM参数及使用。使用NVBlock配置生成,基本不用手写代码,还是比较方便的。对于Nv block的划分,建议将同时写的一类数据放到一个block中,因为block除了data以外,Fee还会增加一些header数据,占用不少内存。

赞的博客 1885

串口通信协议

文章目录前言一、串口通信结构图二、电平三、串口通信协议 前言 本文记录的是平时常用的串口通信有关知识点 提示:以下是本篇文章正文内容,下面案例可供参考 一、串口通信结构图 1、RS232标准串口通讯结构图 2、USB转串口通讯结构图 3、原生的串口到串口 二、电平 串口通信的时候,有三种电平:TTL电平、RS232电平、USB电平 TTL电平是从MCU直接出来的电平 RS323是一种通讯标准,因为高电平+15V低电平–15V电位差30V容错空间大,抗干扰能力强,一般用于工业设备直接通信电平转换芯

weixin_43772611的博客 6862

React学习day04-useEffect、自定义Hook函数

(不封转实现)

2301_76648183的博客 758

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

十、【react】自定义Hook函数

【代码】十、【react】自定义Hook函数。

hellobyebye12345的博客 274

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HOW - 缓存 React 自定义 hook 的所有返回值(包括函数)

而不是每次都创建新值。这样能我们提供的 Hook 更高效、更可控。即,尽量使用 React 已提供的稳定引用,比如。,那它就会在每次渲染时重新执行,因为。函数每次都是新引用。

weixin_58540586的博客 847

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

React Hooks 学习 - 04 自定义Hook、路由钩子函数

自定义 Hook 函数 自定义 Hook 是标准的封装和共享逻辑的方式,其实就是逻辑和内置 Hook 的组合,用于将组件逻辑提取到可重用的函数中。 自定义 Hook 是一个函数,其名称以 use 开头,函数内部可以调用其它的 Hook。 使用自定义 Hook 提取可复用的逻辑,相比 render props 和 高阶函数简单很多。 示例1 初始示例 import { useState, useEffect, useRef} from 'react' function App() { const [co

皮蛋很白的博客 929

19.自定义Hook函数封装数据请求(React)

组件123点我切换组件显示

weixin_73813355的博客 480

React自定义Hook函数:高效组件开发的秘密武器

本文将介绍React自定义Hook函数的基本概念和用法,以及它在组件开发中的应用。自定义Hook函数是React 16.8版本引入的一种新的组件开发方式,它允许开发者更灵活地组织组件的逻辑。自定义Hook函数是一种可以重用的函数,它可以让你在函数组件中使用状态和生命周期特性,而无需编写类组件。自定义Hook函数提供了许多优势,使组件开发更加灵活和高效。逻辑复用:自定义Hook函数允许我们将逻辑封装在函数中,并复用在不同的组件中,从而提高代码的复用性;

你若盛开,清风自来 1282

react自定义hook函数实现防抖效果

react自定义hook函数实现防抖效果

weixin_43772238的博客 468

React+Typescript高阶函数及自定义Hook

自定义hook及使用高阶组件

qq_43644292的博客 779

在react中如何封装一个自定义的hook函数

1.封装自定义hook的思路。

m0_52872381的博客 212

React Hook “useState“ is called in function “xxx“ which is neither a React function component or解决办法

如题所示,在React开发中,我们会自定义一些函数,比如hook函数,或者组件,当我们使用了useState,useEffect等这些hook函数的时候,可能会报错,如下所示,是一个完整的报错信息截图: 报错信息很明确,就是loadData函数既不是一个React组件,也不是一个Hook函数。React默认组件是使用的大写字母开头,而自定义Hook函数使用的是use开头,所以我们这里需要修改有两种办法,就是将loadData修改为LoadData或者useLoadData,或者useD...

feinifi的博客 1万+

0-6 React函数组件(useState、useEffect、自定义Hook组件)

目录 创建方式 没有state怎么办 没有生命周期怎么办 useState的原理 1.创建方式 就是创建一个函数 组件只是说明能和别人组合起来 const Hello = (props)=>{ return <div>{props.message}</div> } //等价于 const Hello = props => <div>{props.message}</div> //等价于 function Hello(props) {

前端知识库 795

react hook---钩子函数的使用,useState,useReducer,useEffect,useRef,useContext,自定义hook

什么是hook钩子函数 hook(钩住),表示拦截操作,可以在某些操作执行时拦截住(钩住),执行hook函数的逻辑, 在react中,hook函数一般是use开头,然后提供一些方法api,也就是说你可以理解成react中的hook就是一套便于操作的api

I_am_shy的博客 2140

React自定义Hook

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

itmacy的博客 230

Vibe Kanban钩子函数:如何使用和自定义React Hook

Vibe Kanban是一款强大的AI编码代理看板工具,它通过React Hook实现了高效的状态管理和组件复用。本文将为您详细介绍Vibe Kanban中钩子函数的使用方法和自定义技巧。🎯 ## 什么是Vibe Kanban钩子函数? Vibe Kanban的钩子函数是基于React Hooks构建的自定义Hook集合,专门用于管理AI编码代理的工作流程、任务状态和项目配置。这些Hook让

gitblog_00750的博客 653

React: hook相当于函数吗?

自定义 Hook 的本质是将一组逻辑封装为一个可复用的单元,但它仍然是基于 React 内置 Hook 构建的。

hello! 1006
上一篇: 横向滚动条 css js html
下一篇: react router dom 中 没有 useNavigate
前端开发洋洋
博客等级 码龄3年 77粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值