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}`]
相关推荐
我命由我123451 分钟前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
DJ斯特拉3 分钟前
日志技术Logback
java·前端·logback
HIT_Weston8 分钟前
49、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 单/多线程分析(一)
前端·ubuntu·gitlab
涔溪10 分钟前
Vue3 中ref和reactive的核心区别是什么?
前端·vue.js·typescript
Gomiko14 分钟前
JavaScript基础(九):内部对象
开发语言·javascript·udp
天意__14 分钟前
Flutter开发,scroll_to_index适配flutter_list_view
前端·flutter
吉星9527ABC17 分钟前
表示离散量的echarts图型示例
前端·arcgis·echarts·离散量web展示
光影少年19 分钟前
web3学习路线
前端·学习·前端框架·web3
克喵的水银蛇19 分钟前
Flutter 状态管理:Provider 入门到实战(替代 setState)
前端·javascript·flutter
鹏多多20 分钟前
flutter-使用url_launcher打开链接/应用/短信/邮件和评分跳转等
android·前端·flutter