Ответ 1
key
свойство используется React под капотом и не подвергается действию. Вы захотите использовать настраиваемое свойство и передать эти данные. Я рекомендую семантически значимое имя свойства; key
только для того, чтобы помочь идентифицировать узел DOM во время согласования, поэтому имеет смысл другое свойство, называемое listId
.
Свойство key
не обязательно должно быть уникальным для всего компонента, но я считаю, что он должен быть уникальным для уровня вложенности, в котором вы находитесь (так обычно в цикле или коллекции). Если React обнаруживает проблему с дублирующимся key
(в сборке разработки), она выдаст ошибку:
Предупреждение: flattenChildren (...): Обнаружены два ребенка с одним и тем же ключом
.$a
A. Детские ключи должны быть уникальными; когда двое детей делят ключ, будет использоваться только первый ребенок.