advanced
Concurrent rendering concepts
Рассуждайте про прерываемый render, transitions, deferred values, Suspense и чистоту render.
Concurrent-возможности позволяют React прерывать, возобновлять или отбрасывать работу render, чтобы интерфейс оставался отзывчивым. `startTransition` помечает не срочные обновления; `useDeferredValue` отстаёт от быстро меняющегося ввода. Suspense координирует асинхронные границы UI с fallback.
Render должен оставаться чистым, потому что работа может выполняться более одного раза. Transitions не блокируют срочные обновления вроде набора в controlled-поле. На интервью ждут знания, что API существуют, когда они помогают большим деревьям и что нужен concurrent root.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Срочные обновления против transition.
- Suspense для асинхронных границ компонентов.
- Чистота render сохраняется при concurrent render.