Встречается на собеседованиях • сегодня
Какие антипаттерны не будешь использовать при создании компонента с асинхронной логикой
1. **Пропуск обработки ошибок** - всегда добавляй `try/catch` или `.catch()` для асинхронных операций.
2. **Неуправляемые состояния загрузки** - избегай "плавающих" состояний, используй четкие флаги `isLoading`, `isError`.
3. **Race conditions** - при быстрых последовательных запросах отменяй предыдущие (например, через `AbortController`).
4. **Избыточные ререндеры** - мемоизируй колбэки и данные, особенно в эффектах.
5. **Размазывание логики** - не смешивай запросы и UI-логику, выноси в хуки/сервисы.
Пример плохого подхода:
```jsx
function UserProfile() {
const [data, setData] = useState(null);
useEffect(() => {
fetch('/user').then(res => setData(res)); // Нет обработки ошибок/загрузки
}, []);
return
{data.name}
; // Упадёт при data === null
}
```
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы