我正在使用数组映射功能渲染React Components

//I need to access the element here
elements.map( element => {

      //And here

      return <Sample ref = { e => this.myRef = e} />
  }


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

最佳答案

映射可以迭代多个索引,并且每次迭代时,您都覆盖this.myRef,最终在迭代结束时覆盖this.myRef仅具有最后一个索引ref。请找到有用的代码段。

   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);

关于javascript - 是否可以使用ref访问数组映射函数内的React组件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50780018/

10-13 02:49