Выбор ответа Middle React 18-19: Suspense, transitions, RSC обновлено
use в условии
Вопрос
Какое утверждение про хук use верно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: use можно вызывать в if и циклах, но только в компоненте или хуке. Это единственный хук, который разрешено вызывать условно: if (show) { const theme = use(ThemeContext); }.
Варианты ответа
useподчиняется всем правилам хуков: нельзя вызывать в условиях и циклахuseможно вызывать вifи циклах, но только в компоненте или хукеправильный ответuseможно вызывать где угодно, в том числе в обычной функции вне компонентовuseработает в серверных компонентах, а в клиентских его заменяетuseContext
Разбор
Это единственный хук, который разрешено вызывать условно: if (show) { const theme = use(ThemeContext); }. Но вызывать его можно только при рендере компонента или из другого хука.
- Ограничение на условия к
useне относится. - Вне рендера
useне работает. - В клиентских компонентах
useтоже работает.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «React 18-19: Suspense, transitions, RSC»
- Автоматический батчинг
- useDeferredValue и debounce
- Что делает React Compiler
- Функция из серверного компонента в клиентский
- RSC и SSR
- Что запускает Suspense
- Что значит use server
- Ошибка гидрации