Проверяет понимание способов генерации уникальных идентификаторов в JavaScript без привязки к индексу или длине массива.
Когда нужно пометить элемент уникальным идентификатором, использование индекса массива или его длины — плохая идея: при удалении или сортировке индексы смещаются, а ID перестают быть уникальными и стабильными. Правильный подход — генерировать идентификатор независимо от структуры данных.
uuid, nanoid, shortid. Дают гибкость в формате и длине.// Встроенный способ (браузер и Node.js)
const id = crypto.randomUUID();
console.log(id); // '3b12f1df-5232-4a3e-9c1a-1f2e3d4c5b6a'
// Через nanoid (нужна установка)
import { nanoid } from 'nanoid';
const shortId = nanoid(); // 'V1StGXR8_Z5jdHi6B-myT'
// Свой генератор на основе счётчика
let counter = 0;
const nextId = () => `item-${++counter}`;
В React ключ элемента (key) должен быть стабильным между рендерами. Если генерировать ID при каждом рендере, React будет пересоздавать DOM-узлы. Поэтому ID создают один раз — при добавлении элемента в состояние.
Итог: для генерации уникального ID используйте crypto.randomUUID() или библиотеку nanoid, а не индекс массива. Это гарантирует стабильность и уникальность при любых изменениях коллекции.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию