Можно ли получить доступ к компоненту React внутри функции карты массива, используя ref? - PullRequest
0 голосов
/ 10 июня 2018

Я рендеринг React Components с использованием функции карты массива

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

      //And here 

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

Когда я пытаюсь получить доступ к this.myRef, он возвращает неопределенное значение.Как правильно обращаться к объекту DOM <Sample/>?

1 Ответ

0 голосов
/ 10 июня 2018

Карта может выполнять итерацию по нескольким индексам, и каждый раз, когда вы выполняете итерацию, вы перезаписываете this.myRef, и в конце концов this.myRef в конце итерации будет иметь только последний индексный указатель.Пожалуйста, найдите фрагмент полезным.

   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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...