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}`]
相关推荐
程序员小易几秒前
前端轮子(2)--diy响应数据
前端·javascript·浏览器
前天的五花肉几秒前
D3.js研发Biplot(代谢)图
前端·javascript·css
董世昌414 分钟前
JavaScript 中 undefined 和 not defined 的区别
java·服务器·javascript
oh,huoyuyan6 分钟前
【实用技巧】火语言RPA:界面『日期时间』控件,实现网页日期自动填写
前端·javascript·rpa
程序员小寒7 分钟前
前端性能优化之Webpack篇
前端·webpack·性能优化
谢尔登7 分钟前
React的Fiber架构
前端·react.js·架构
我是华为OD~HR~栗栗呀10 分钟前
(华为od)21届-Python面经
java·前端·c++·python·华为od·华为·面试
刘一说22 分钟前
ES6+核心特性全面浅析
java·前端·es6
i_am_a_div_日积月累_25 分钟前
el-tree半选回显问题;el-tree获取半选节点id
javascript·vue.js·elementui
kirinlau28 分钟前
Vue.observable实现vue原生轻量级状态管理详解
前端·javascript·vue.js