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

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

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

小怪兽爱吃肉 2019-06-20 10:59:13
多个图片数组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 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

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

    TA贡献1801条经验 获得超16个赞

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

    添加回答

    了解更多

    举报

    0/150
    提交
    取消
    意见反馈 帮助中心 APP下载
    官方微信