Встречается на собеседованиях • сегодня
Может ли React определить, что хук вложен в условие до его вызова
React не может определить, что хук вложен в условие до его вызова, но он **обнаружит это во время выполнения** и выбросит ошибку.
Правило хуков гласит: **хуки должны вызываться на верхнем уровне компонента**, без условий, циклов или вложенных функций. React полагается на **порядок вызова хуков** между рендерами.
Пример с ошибкой:
```jsx
function MyComponent({ show }) {
if (show) {
const [state, setState] = useState(false); // ❌ Ошибка: хук в условии
}
return
...
;
}
```
Как исправить:
```jsx
function MyComponent({ show }) {
const [state, setState] = useState(false); // ✅ Правильно: хук на верхнем уровне
if (!show) return null; // Условие после хуков
return ...
;
}
```
React использует внутренний механизм (например, связный список) для отслеживания хуков, поэтому их порядок должен быть стабильным.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы