Встречается на собеседованиях • сегодня
Почему 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 требует стабильного порядка вызовов хуков, чтобы правильно управлять их состоянием.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы