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}`]
相关推荐
excel14 小时前
🧩 深入剖析 Vue 编译器中的 TypeScript 类型系统(第一篇)
前端
excel14 小时前
深度解析 Vue SFC 编译流程中的 processNormalScript 实现原理
前端
excel14 小时前
Vue SFC 编译器源码解析:processPropsDestructure 与 transformDestructuredProps
前端
excel14 小时前
深度解析 processDefineSlots:Vue SFC 编译阶段的 defineSlots 处理逻辑
前端
excel14 小时前
Vue SFC 模板依赖解析机制源码详解
前端
wfsm14 小时前
flowable使用01
java·前端·servlet
excel14 小时前
深度解析:Vue <script setup> 中的 defineModel 处理逻辑源码剖析
前端
excel14 小时前
🧩 深入理解 Vue 宏编译:processDefineOptions() 源码解析
前端
excel14 小时前
Vue 宏编译源码深度解析:processDefineProps 全流程解读
前端
excel14 小时前
Vue SFC 编译器源码深度解析:processDefineEmits 与运行时事件生成机制
前端