Выбор ответа Junior React 18-19: Suspense, transitions, RSC обновлено

Что запускает Suspense

Вопрос

Какой код покажет fallback ближайшего <Suspense>, пока идёт загрузка?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Компонент из lazy(() = import('./Chart')) при первом показе. Suspense срабатывает, когда компонент приостанавливается при рендере: так делают lazy (пока не загрузился модуль), use(promise) и источники данных с поддержкой Suspense. - Загрузка в useEffect происходит после рендера, компонент не…

Варианты ответа

  1. useEffect(() => { fetch(url).then(setData); }, [url])
  2. const [data, setData] = useState(null) и проверка if (!data) return null
  3. Компонент из lazy(() => import('./Chart')) при первом показеправильный ответ
  4. async function в обработчике onClick

Разбор

Suspense срабатывает, когда компонент приостанавливается при рендере: так делают lazy (пока не загрузился модуль), use(promise) и источники данных с поддержкой Suspense.

  • Загрузка в useEffect происходит после рендера, компонент не приостанавливается, Suspense о ней не знает.
  • return null просто ничего не рисует.
  • Обработчик события выполняется вне рендера.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.