Ключ доступа к созданному компоненту Карты

#reactjs

Вопрос:

Есть ли способ получить доступ key к компоненту, созданному на карте, как показано ниже…

 data.map((data, index) => 
  <li 
    key={ index }
    onClick={ handleClick }
  >{ data }</li>
)
 

…или требуется data атрибут для хранения и доступа к index подобному в приведенном ниже примере

 data.map((data, index) => 
  <li 
    key={ index }
    data-index={ index }
    onClick={ handleClick }
  >{ data }</li>
)
 

Ответ №1:

key Опора используется React только для целей оптимизации рендеринга. Его нельзя увидеть в DOM. Поэтому , если вы хотите получить доступ к индексу изнутри handleClick , вам нужно каким — то образом ввести значение в DOM-например, с помощью вашего data-index .

Для данной конкретной ситуации другим вариантом может быть передача его handleClick , например:

 data.map((data, index) => 
  <li 
    key={ index }
    onClick={ e => handleClick(e, index) }
  >{ data }</li>
)