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

Какие антипаттерны не будешь использовать при создании компонента с асинхронной логикой без использования Redux Toolkit

1. **Проп-дриллинг колбэков** - вместо передачи колбэков через много уровней, лучше использовать контекст или композицию компонентов. 2. **Логика в UI-компонентах** - выноси асинхронные запросы и состояние в кастомные хуки или сервисы. 3. **Размазанная логика загрузки** - не дублируй `isLoading` в разных местах, используй единый источник правды. Пример плохого подхода: ```jsx function Component() { const [data, setData] = useState(null); const [isLoading, setIsLoading] = useState(false); useEffect(() => { setIsLoading(true); fetchData().then(data => { setData(data); setIsLoading(false); }); }, []); if (isLoading) return ; return ; } ``` Лучше так: ```jsx function useAsyncData() { const [state, setState] = useState({ data: null, loading: false }); useEffect(() => { setState(prev => ({...prev, loading: true})); fetchData().then(data => { setState({ data, loading: false }); }); }, []); return state; } function Component() { const { data, loading } = useAsyncData(); if (loading) return ; return ; } ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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