52 / 98
Как React обрабатывает ключи (keys) при рендеринге списков на уровне алгоритма?
Ключи — подсказка алгоритму reconciliation, позволяющая сопоставить элементы старого и нового списков. Без ключей React сравнивает элементы по позиции (индексу) — при вставке в начало ВСЕ элементы пересоздаются. С уникальными ключами React строит Map из старых элементов по ключу, находит совпадения в новом списке и переиспользует Fiber-ноды, только перемещая их в DOM. Алгоритм работает за O(n), а не за O(n^3) общего diff деревьев.