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}`]
相关推荐
网络点点滴5 分钟前
Vue3 全局API转移到应用对象
前端·javascript·vue.js
波哥学开发8 分钟前
基于 OPFS 的前端缓存实践:图片与点云数据的本地持久化
前端
whuhewei9 分钟前
useCountDown (React Hooks)倒计时
前端·javascript·react.js
DanCheOo9 分钟前
流式输出:让 AI 回复像 ChatGPT 一样打字机效果
前端·全栈
HelloReader10 分钟前
Qt Quick 布局Positioners、Anchors 与 Layouts(九)
前端
HelloReader11 分钟前
Qt 信号与槽对象通信的核心机制(十)
前端
终端鹿14 分钟前
插槽(slot):默认插槽、具名插槽、作用域插槽实战
前端·javascript·vue.js
千百元15 分钟前
HBuilderX蓝牙功能打包有BUG
前端