为了账号安全,请及时绑定邮箱和手机立即绑定

React中map循环,如何给每个元素建立ref感激不尽

React中map循环,如何给每个元素建立ref感激不尽

天涯尽头无女友 2019-09-26 11:04:16
多个图片数组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}/>})}
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

单纯获取列表子节点的话,直接ref找到父元素就好了。。
classAppextendsComponent{
ulRef=createRef()
componentDidMount(){
console.log(this.ulRef.current.childNodes)
}
render(){
return(
{Array(10).fill(1).map((item,index)=>
  • {index}
  • )}
    );
    }
    }
                                
    查看完整回答
    反对 回复 2019-09-26
    ?
    长风秋雁

    TA贡献1757条经验 获得超7个赞

    用数组或者对象挂载就行了this.refs=[];或者this.refs={};
    {
    srcs.map((src,i)=>{
    constframeStyle={zIndex:99-i};
    returnthis.refs[i]=img}key={i}src={src}/>
    })
    }
                                
    查看完整回答
    反对 回复 2019-09-26
    • 2 回答
    • 0 关注
    • 3807 浏览
    慕课专栏
    更多

    添加回答

    了解更多

    举报

    0/150
    提交
    取消
    微信客服

    购课补贴
    联系客服咨询优惠详情

    帮助反馈 APP下载

    慕课网APP
    您的移动学习伙伴

    公众号

    扫描二维码
    关注慕课网微信公众号