代码之家  ›  专栏  ›  技术社区  ›  Jithin Ks

是否可以使用ref访问数组映射函数中的react组件?

  •  0
  • Jithin Ks  · 技术社区  · 6 年前

    我正在使用数组映射函数渲染react组件

    //I need to access the element here
    elements.map( element => {
    
          //And here 
    
          return <Sample ref = { e => this.myRef = e} /> 
      }
    

    当我试图访问this.myref时,它返回未定义。访问的dom对象的正确方法是什么 <Sample/> ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   karthik    6 年前

    一个映射可以遍历多个索引,每次迭代时都覆盖了子查询,最后在迭代结束时重新映射将只有最后一个索引引用。请找到有用的代码片段。

       constructor(){
           //Initialise this.myRef to be an array.
           this.myRef = [];
        }
    
        //Somewhere when u r iterating
        elements.map( (element,index) => { 
             //Expecting you already imported React
             this.myRef[index] = React.createRef();
             return <Sample ref = { this.myRef[index] } />
         })
    
    //Now log it here just to confirm
    console.log(this.myRef);