я получаю ошибку, у каждого ребенка в списке должна быть уникальная «ключевая» опора

#javascript #reactjs #react-redux #react-hooks

Вопрос:

я использую react ,и когда я попытался использовать в нем функцию map, у меня было несколько компонентов внутри функции возврата карты.поэтому для того, чтобы содержать, я использовал фиктивный родительский элемент и начал показывать ошибку ** У каждого ребенка в списке должна быть уникальная опора «ключ»**. я не знаю, как включить ключ в фиктивный родительский элемент <>.вы мне поможете.

                            {
                             dataArray.map((item,key)=>{
                                return(
                                     <>

                                    <td key={key}>{item.country}</td>
                                     <td key={key}>{item.city}</td>
                                    </> 
                                )})
                            }



 

Добавив фиктивного родителя, я получаю уникальный ключ этой ошибки.есть ли какой-либо способ удалить ошибку уникального ключа, сохранив оба td в инструкции return

Комментарии:

1. интересный вопрос.просто попробуйте использовать одного родителя

Ответ №1:

Добавьте ключ к фрагменту, а не к отдельным <td> s:

 {
  dataArray.map((item, key) => {
    return (
      <React.Fragment key={key}>
        <td>{item.country}</td>
        <td>{item.city}</td>
      </React.Fragment>
    );
  })
}
 

Комментарии:

1. Чтобы добавить к этому, из документов: «Вы можете использовать <><></> так же, как вы использовали бы любой другой элемент, за исключением того, что он не поддерживает ключи или атрибуты». reactjs.org/docs/fragments.html Поэтому вы должны определить это как реакцию. Фрагмент и не может использовать <></> синтаксис для добавления ключа

2. что делать, если есть выбор снаружи и несколько вариантов внутри с подменю. затем используйте React. Фармент выдает ошибку.