Встречается на собеседованиях • сегодня
Почему хуки не стоит вызывать с условием
Хуки React должны вызываться на верхнем уровне компонента, а не внутри условий, циклов или вложенных функций. Это правило гарантирует, что хуки вызываются в одинаковом порядке при каждом рендере. React полагается на порядок вызовов хуков для корректного сопоставления состояния между рендерами.
Пример проблемы:
```jsx
function BadExample({ isActive }) {
if (isActive) {
const [value, setValue] = useState(''); // ❌ Неправильно
return
{value}
;
}
return null;
}
```
Правильный подход:
```jsx
function GoodExample({ isActive }) {
const [value, setValue] = useState(''); // ✅ Правильно
return isActive ? {value}
: null;
}
```
Если нужно условно использовать эффект, лучше поместить условие внутрь хука:
```jsx
useEffect(() => {
if (condition) {
// выполнить эффект
}
}, [condition]);
```
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы