Вопрос проверяет знание базовых хуков React и их применения.
Основные хуки:
useState — хранение состояния компонента.
useEffect — побочные эффекты (запросы, подписки).
useContext — доступ к контексту без пропсов.
useRef — ссылки на DOM или изменяемые значения.
useMemo / useCallback — оптимизация вычислений и функций.
useStateУправление состоянием компонента.
const [count, setCount] = useState(0);
<button onClick={() => setCount(count + 1)}>{count}</button>useEffectДля запросов, таймеров, подписок.
useEffect(() => {
fetchData().then(data => setData(data));
return () => { /* Очистка (например, отмена запроса) */ };
}, [deps]);useContextДоступ к глобальным данным (тема, авторизация).
const theme = useContext(ThemeContext);
<div style={{ color: theme.color }}>Text</div>useRefДля DOM:
const inputRef = useRef();
<input ref={inputRef} />;Для изменяемых значений (без ререндера):
const timerId = useRef();
useEffect(() => {
timerId.current = setInterval(() => {}, 1000);
}, []);useMemo / useCallbackКеширование значений:
const filteredList = useMemo(() => (
list.filter(item => item.price > 100)
), [list]);Кеширование функций:
const handleClick = useCallback(() => {
console.log('Clicked!');
}, []);