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 把每个子组件塞进去
<div 
	ref={ele=> bodyRefs.current[info.name] = ele} 
/>

最终获取到的bodyRefs

console.log(bodyRefs.current)

{
	A: ...对应绑定DOM元素,
	B: ...对应绑定的DOM元素,
	C: ...对应绑定的DOM元素
}

使用

bodyRefs.current[`${设置对应的name}`]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值