Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Как реализовать вложенный drag-and-drop в React-приложении?

Почему производительность drag-and-drop деградирует со временем, а не сразу?

В чём проблема использования top/left совместно со styled-components при drag-and-drop?

  • Рейтинг:

    4

  • Сложность:

    6

Вложенный drag-and-drop строится вокруг иерархии данных, а не DOM. При перетаскивании меняется структура данных, а UI лишь отражает эти изменения. Для реализации используют библиотеки или собственную логику с расчётом целевых позиций. Ключевая сложность — корректно обновлять вложенные узлы.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Производительность drag-and-drop может деградировать со временем из-за накопления неотменённых обработчиков событий, особенно при повторных перетаскиваниях. Если обработчики не удаляются после завершения перетаскивания, они продолжают висеть в памяти и вызываться, замедляя работу. Также возможны утечки памяти из-за создания новых DOM-элементов без их очистки.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

Использование top/left вызывает перерасчёт layout (reflow) при каждом изменении, что снижает производительность. styled-components генерирует новые CSS-классы при каждом обновлении стилей, что усугубляет проблему. Рекомендуется использовать CSS-свойство transform: translate() для перемещения элементов, так как оно работает на уровне compositing и не вызывает reflow.
Подробнее