有没有童鞋遇到过同样的问题:React中map循环,如何给每个元素建立ref求指导!

多个图片数组map,需要给每个图片加上ref,这样之后好控制ref正常的写法是this.inputElement=input)/>但是我这边是动态的,之后需要获取每个图片来控制,想问下有什么好一点的办法呢?下图时我想写的,但是不行
//函数
imgRef(ele:HTMLElement,index:number){
this['ele'+index]=ele;
}
//render里的渲染
{
srcs.map((src,i)=>{
constframeStyle={zIndex:99-i};
returnthis.imgRef(ele,i)}key={i}src={src}/>
})
}
小怪兽爱吃肉
浏览 454回答 2
2回答

HUWWW

单纯获取列表子节点的话,直接ref找到父元素就好了。。classAppextendsComponent{ulRef=createRef()componentDidMount(){console.log(this.ulRef.current.childNodes)}render(){return({Array(10).fill(1).map((item,index)=>{index})});}}

侃侃尔雅

用数组或者对象挂载就行了this.refs=[];或者this.refs={};{srcs.map((src,i)=>{constframeStyle={zIndex:99-i};returnthis.refs[i]=img}key={i}src={src}/>})}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript