Встречается на собеседованиях • сегодня

Почему Hook нельзя использовать в циклах

Хуки нельзя использовать в циклах, условиях или вложенных функциях, потому что React полагается на порядок вызова хуков для корректного сопоставления состояния между рендерами. **Проблема:** Если хук вызывается условно (например, внутри `if` или цикла), порядок хуков может измениться между рендерами, что приведёт к ошибкам. **Пример ошибки:** ```jsx function BadComponent({ items }) { for (let i = 0; i < items.length; i++) { const [value, setValue] = useState(items[i]); // ❌ Нельзя! // ... } return null; } ``` **Решение:** Выносите хуки на верхний уровень компонента или используйте маппинг: ```jsx function GoodComponent({ items }) { const [values, setValues] = useState(items); // ✅ Правильно return items.map((item, i) => (
{item}
)); } ``` React требует стабильного порядка вызовов хуков, чтобы правильно управлять их состоянием.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы