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}`]
相关推荐
消失的旧时光-194312 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
console.log('npc')12 小时前
Table,vue3在父组件调用子组件columns列的方法展示弹窗文件预览效果
前端·javascript·vue.js
用户479492835691512 小时前
React Hooks 的“天条”:为啥绝对不能写在 if 语句里?
前端·react.js
我命由我1234513 小时前
SVG - SVG 引入(SVG 概述、SVG 基本使用、SVG 使用 CSS、SVG 使用 JavaScript、SVG 实例实操)
开发语言·前端·javascript·css·学习·ecmascript·学习方法
用户479492835691513 小时前
给客户做私有化部署,我是如何优雅搞定 NPM 依赖管理的?
前端·后端·程序员
C_心欲无痕13 小时前
vue3 - markRaw标记为非响应式对象
前端·javascript·vue.js
qingyun98914 小时前
深度优先遍历:JavaScript递归查找树形数据结构中的节点标签
前端·javascript·数据结构
胡楚昊14 小时前
NSSCTF动调题包通关
开发语言·javascript·算法
熬夜敲代码的小N14 小时前
Vue (Official)重磅更新!Vue Language Tools 3.2功能一览!
前端·javascript·vue.js
90后的晨仔14 小时前
用 Python 脚本一键重命名序列帧图片的名称
前端