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

react经验11:访问循环渲染的子组件内容

前有访问单个子组件的需求,现在进一步需要访问循环渲染中的子组件。
访问单个子组件的成员

实施步骤

子组件//child.tsx

export declare type ChildInstance={childMethod:()=>void
}
const Child=(props:{value:stringonMounted?:(ref:ChildInstance)=>void
})=>{function childMethod(){console.log(`子组件-${props.value}的函数被访问了`)}useEffect(()=>{if (props.onMounted) {props.onMounted({childMethod})}},[])return (<div>这是子组件-{props.value}</div>)
}
export default Child

父组件//parent.tsx

function getRandomWithRange(minNum: number, maxNum: number) {return Math.floor(Math.random() * (maxNum - minNum + 1) + minNum)
}
const list=[1,2,3,4,5]
const Parent=()=>{const childRefs=useRef<{[key:number]:ChildInstance}>({})function handleChildMounted(ref:ChildInstance,value:number){childRefs.current[value]=ref}function randomCallChild(){const value=getRandomWithRange(1,5)const child=childRefs.current[value]child.childMethod()}return (<div><h1>这是父组件</h1><button onClick={randomCallChild}>随机访问一个子组件</button><br/>以下是循环渲染的子组件{list.map(value=>(<Child key={value} value={value} onMounted={e=>handleChildMounted(e,value)}/>))}</div>)
}
export default Parent

思路说明:
在子组件中通过初始化事件将内部的"引用"传递给外面,外面通过这个"引用"访问子组件的内部。

相关文章:

react经验11:访问循环渲染的子组件内容

前有访问单个子组件的需求&#xff0c;现在进一步需要访问循环渲染中的子组件。 访问单个子组件的成员 实施步骤 子组件//child.tsx export declare type ChildInstance{childMethod:()>void } const Child(props:{value:stringonMounted?:(ref:ChildInstance)>void …...

Java开发工程师面试题(业务功能)

一、订单超时未支付自动关闭的几种实现方式。 定时任务扫描&#xff1a;在订单创建时&#xff0c;为订单创建一个定时任务&#xff0c;并设置一个超时时间。后端服务器会定期检查任务的创建时间是否超过了超时时间。如果是&#xff0c;则将订单设置为关闭状态。这种方案需要后…...

BUUCTF-Misc-百里挑一

题目链接&#xff1a;BUUCTF在线评测 (buuoj.cn) 下载附件打开是一个流量包文件&#xff1a; 全是在传图片时候的流量&#xff0c;先把图片保存出来文件–>导出对象–>HTTP–>保存到一个文件夹 然后使用kali下的exiftool找到了一半flag exiftool *|grep flag 另外一半…...

【力扣刷题练习】42. 接雨水

题目描述&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 题目解答&#xff1a; class Solution {public int trap(int[] height) {int n height.length;int ans 0;if (n < 3)return…...

鸿蒙实战开发:数据交互【RPC连接】

概述 本示例展示了同一设备中前后台的数据交互&#xff0c;用户前台选择相应的商品与数目&#xff0c;后台计算出结果&#xff0c;回传给前台展示。 样例展示 基础信息 RPC连接 介绍 本示例使用[ohos.rpc]相关接口&#xff0c;实现了一个前台选择商品和数目&#xff0c;后台…...

QLC SSD:LDPC纠错算法的优化方案

随着NAND TLC和QLC出现,LDPC也在不断的优化研究,提升纠错能力。小编看到有一篇来自Microchip发布的比较详细的LDPC研究数据,根据自己的理解分析解读给大家,如有错误,请留言指正! 文档中测试LDPC(Low-Density Parity-Check)码是为了评估其在不同配置下对数据错误的有效…...

【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗?

【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么&#xff1f;有什么关系吗&#xff1f; 文章目录 写在前面解答补充说明 写在前面 关于我 &#xff0c;小雨青年 &#x1f449; CSDN博客专家&#xff0c;GitChat专栏作者&#xff0c;阿里云社区专家博主&…...

ChatGPT高效提问——说明提示技巧

ChatGPT高效提问——说明提示技巧 现在&#xff0c;让我们开始体验“说明提示技巧”&#xff08;IPT, Instructions Prompt Technique&#xff09;和如何用它生成来自ChatGPT的高质量的文本。说明提示技巧是一个通过向ChatGPT提供需要依据的具体的模型的说明来指导ChatGPT输出…...

从零学算法41

41.给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;nums […...

FPGA高端项目:FPGA基于GS2971的SDI视频接收+OSD动态字符叠加,提供1套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收HLS多路视频融合叠加应用…...

UML-类图详解

UML中基本概念说明 UML类图中关系连接线说明 ​ UML类图说明 号表示public、-表示表示private、#表示protected ​ UML类关系详解 泛化&#xff08;Generalization&#xff09;关系 简单的讲就是类之间的继承关系。在UML中&#xff0c;泛化关系用空心三角形实线来表示&…...

Python 快速获取PDF文件的页数

有时在处理或打印一个PDF文档之前&#xff0c;你可能需要先知道该文档包含多少页。虽然我们可以使用Adobe Acrobat这样的工具来查看页数&#xff0c;但对于程序员来说&#xff0c;编写脚本来完成这项工作会更加高效。本文就介绍一个使用Python快速获取PDF文件页数的办法。 安装…...

uniapp开发小程序使用x-www-form-urlencoded; charset=UTF-8 编码格式请求案例

使用x-www-form-urlencoded&#xff0c;header要放在前面&#xff0c;第一行位置。 uni.request({ header: { content-type: application/x-www-form-urlencoded; charsetUTF-8},url: ,method:POST, //请求方式POST\GETdata:that.loginData,success: funct…...

酷开科技服务升级,酷开系统给消费者更好的使用体验!

看电视的时候你是不是也会有选择困难症&#xff1f;不知道要看哪个&#xff1f;不知道如何操作&#xff1f;体验不够顺畅&#xff1f;现在&#xff0c;有了酷开系统9.2&#xff0c;这些通通不再是问题&#xff01;酷开科技&#xff0c;一直致力于服务升级&#xff0c;给消费者更…...

【leetcode热题】单词拆分

难度&#xff1a; 中等通过率&#xff1a; 33.7%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#…...

【论文阅读】MC:用于语义图像分割的深度卷积网络弱监督和半监督学习

【论文阅读】MC&#xff1a;用于语义图像分割的深度卷积网络弱监督和半监督学习 文章目录 【论文阅读】MC&#xff1a;用于语义图像分割的深度卷积网络弱监督和半监督学习一、介绍二、联系工作三、方法四、实验结果 Weakly- and Semi-Supervised Learning of a Deep Convolutio…...

读书·基于RISC-V和FPGA的嵌入式系统设计·第3章

72.8051单片机的弊端和指令集架构CISC的缺点 76.RV指令集的特征&#xff08;⭐&#xff09; 特权架构和特权指令集是相关但不完全相同的概念。 特权架构&#xff08;Privileged Architecture&#xff09;指的是计算机体系结构中用于实现特权级操作的硬件和软件机制。特权架构定…...

本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)

将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新&#xff0c;具体步骤如下&#xff1a; 在本地项目目录下初始化 Git 仓库&#xff1a; cd 项目目录 git init将项目文件添加到 Git 仓库并提交&#xff1a; git add . git commit -m "Initial commit"在…...

MacOS安装反编译工具JD-GUI 版本需要1.8+

Java Decompiler http://java-decompiler.github.io/ 将下载下来的 jd-gui-osx-1.6.6.tar 解压&#xff0c;然后将 JD-GUI.app 文件拷贝到 Applications 应用程序目录里面 1.显示包内容 2.找到Contents/MacOS/universalJavaApplicationStub.sh 3.修改sh文件 内容修改为下面…...

计算机大数据毕业设计-基于Flask的旅游推荐可视化系统的设计与实现

基于Flask的旅游推荐可视化系统的设计与实现 编程语言&#xff1a;Python3.10 涉及技术&#xff1a;FlaskMySQL8.0Echarts 开发工具&#xff1a;PyCharm 摘要&#xff1a;以Pycharm为旅游推荐系统开发工具&#xff0c;采用B/S结构&#xff0c;使用Python语言开发旅游景点推…...

终极Hasklig字体完全指南:如何通过编程连字技术提升代码可读性

终极Hasklig字体完全指南&#xff1a;如何通过编程连字技术提升代码可读性 【免费下载链接】Hasklig Hasklig - a code font with monospaced ligatures 项目地址: https://gitcode.com/gh_mirrors/ha/Hasklig Hasklig是一款专为编程设计的等宽字体&#xff0c;通过创新…...

光影魔术师:看LiuJuan Z-Image如何生成电影感氛围人像

光影魔术师&#xff1a;看LiuJuan Z-Image如何生成电影感氛围人像 1. 引言&#xff1a;重新定义AI人像生成标准 在数字内容爆炸式增长的今天&#xff0c;高质量人像图片的需求从未如此强烈。从电商产品展示到社交媒体内容创作&#xff0c;从游戏角色设计到影视概念预览&#…...

嵌入式WebSocket客户端:零malloc、状态机驱动的轻量级实现

1. WebSocketClient 库深度解析&#xff1a;面向嵌入式系统的轻量级 WebSocket 客户端实现WebSocket 协议&#xff08;RFC 6455&#xff09;作为全双工通信的工业级标准&#xff0c;在嵌入式边缘设备与云平台、Web 控制台、MQTT 网关桥接等场景中已成刚需。然而&#xff0c;主流…...

Reachy Mini桌面机器人:开源AI机器人开发的终极指南

Reachy Mini桌面机器人&#xff1a;开源AI机器人开发的终极指南 【免费下载链接】reachy_mini Reachy Minis SDK 项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini Reachy Mini是一款专为开发者和AI研究者设计的开源桌面机器人&#xff0c;通过其精密的六…...

Java 25虚拟线程资源隔离配置,深度剖析JEP 477 ScopedValue与CarrierThread绑定机制

第一章&#xff1a;Java 25虚拟线程资源隔离配置概览Java 25正式将虚拟线程&#xff08;Virtual Threads&#xff09;纳入长期支持特性&#xff0c;并强化了其在高并发场景下的资源隔离能力。虚拟线程本身轻量、按需调度&#xff0c;但若缺乏显式资源约束&#xff0c;仍可能因共…...

别再死记硬背了!用Halcon的vector_angle_to_rigid算子搞定视觉定位,附完整代码

视觉定位实战&#xff1a;用Halcon的vector_angle_to_rigid算子避开几何变换的三大误区 在工业视觉项目中&#xff0c;刚体变换是坐标转换的核心技术&#xff0c;但许多工程师在使用Halcon的vector_angle_to_rigid算子时&#xff0c;常陷入三个致命误区&#xff1a;误认为旋转…...

NVIDIA vGPU许可服务器HA配置避坑指南:从环境准备到故障切换测试

NVIDIA vGPU许可服务器高可用配置实战&#xff1a;从零搭建到容灾验证 在虚拟化与AI计算融合的今天&#xff0c;NVIDIA vGPU技术已成为图形工作站、云游戏和机器学习平台的核心支撑。但许多团队在享受显卡虚拟化红利时&#xff0c;往往忽略了许可服务的高可用保障——当单点故障…...

Rufus终极指南:轻松制作Windows 11启动盘,一键绕过TPM限制

Rufus终极指南&#xff1a;轻松制作Windows 11启动盘&#xff0c;一键绕过TPM限制 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 还在为Windows 11的TPM 2.0硬件要求而烦恼吗&#xff1f;你的旧…...

【2026年阿里巴巴春招- 3月28日-算法岗-第二题- 隐式素数计算】(题目+思路+JavaC++Python解析+在线测试)

题目内容 我们称一个正整数为隐式素数,如果它不同的正因子的个数是一个素数。给定一个闭区间$ [l,r]$,请计算该区间内隐式素数的个数 输入描述 每个测试文件均包含多组测试数据。第一行输入一个整数$ T (1 ≤ T ≤ 10^4)$,代表数据组数,每组测试数据描述如下: 在一行上…...

Python内存暴涨突然崩溃?3个被90%开发者忽略的GC调优关键点揭秘

第一章&#xff1a;Python内存暴涨与崩溃的典型现象诊断当Python程序在运行中突然响应迟缓、频繁触发MemoryError&#xff0c;或进程被操作系统强制终止&#xff08;如Linux下收到SIGKILL (9)&#xff09;&#xff0c;往往标志着内存使用已严重失控。这类问题通常不会立即暴露&…...