react hook 为循环出来的多个子组件添加ref

react hook 为循环出来的多个子组件添加ref

在React函数组件中,可以使用useRef钩子来获取当前组件的标签(DOM元素)。

  • 父组件

    const details = useState([{name:'A'},{name:'B'},{name:'C'}])
    const bodyRefs = useRef({});

    // 把ref挂载在循环出来的子组件
    {
    details.map((e) => (
    <childComponents bodyRefs ={bodyRefs} info={info} key={e.name} />
    ))
    }

  • 子组件

    // 拿到父组件给的bodyRefs 把每个子组件塞进去

    bodyRefs.current[info.name] = ele} />

最终获取到的bodyRefs

复制代码
console.log(bodyRefs.current)

{
	A: ...对应绑定DOM元素,
	B: ...对应绑定的DOM元素,
	C: ...对应绑定的DOM元素
}

使用

复制代码
bodyRefs.current[`${设置对应的name}`]
相关推荐
无巧不成书02184 分钟前
Windows PowerShell执行策略详解:从npm报错到完美解决
前端·windows·npm·powershell执行策略·执行策略·npm.ps1·脚本报错
Z兽兽6 小时前
React@18+Vite项目配置env文件
前端·react.js·前端框架
SuniaWang7 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
A_nanda7 小时前
根据AI提示排查vue前端项目
前端·javascript·vue.js
happymaker06268 小时前
web前端学习日记——DAY05(定位、浮动、视频音频播放)
前端·学习·音视频
~无忧花开~8 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
LegendNoTitle8 小时前
计算机三级等级考试 网络技术 选择题考点详细梳理
服务器·前端·经验分享·笔记·php
@大迁世界8 小时前
1.什么是 ReactJS?
前端·javascript·react.js·前端框架·ecmascript
BJ-Giser9 小时前
Cesium 基于EZ-Tree的植被效果
前端·可视化·cesium
王码码203510 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos