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}`]
相关推荐
裴嘉靖3 分钟前
uniapp做的APP和安卓苹果做的什么区别
前端
申阳5 分钟前
Day 20:开源个人项目时的一些注意事项
前端·后端·程序员
天蓝色的鱼鱼10 分钟前
大文件上传实战:基于Express、分片、Web Worker与压缩的完整方案
前端·node.js
500佰13 分钟前
解读NotebookLM基于AI的PTT生成 程序化处理方法
前端·google·程序员
前端老宋Running13 分钟前
别再给组件“打洞”了:这才是 React 组件复用的正确打开方式
前端·javascript·前端框架
u***284714 分钟前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
chilavert31817 分钟前
技术演进中的开发沉思-224 Ajax面向对象与框架
javascript·okhttp
pcm12356718 分钟前
java中用哈希表写题碰到的误区
java·前端·散列表
盗德22 分钟前
最全音频处理WaveSurferjs配置文档二(事件)
前端·javascript
恋猫de小郭26 分钟前
解读 Claude 对开发者的影响:AI 如何在 Anthropic 改变工作?
android·前端·ai编程