Что делает act() в тестах React?

Middle
190 просмотров
AFK Offer AI

act() гарантирует, что все state обновления, effects и рендеры завершены перед assertions. React батчит обновления — без act() assertion может проверить устаревшее состояние. Testing Library оборачивает render и fireEvent в act() автоматически. Ручной act() нужен когда: обновляешь state напрямую, работаешь с таймерами (jest.advanceTimersByTime внутри act), вызываешь колбэки. Предупреждение "not wrapped in act" означает, что произошло обновление после assertions — обычно нужен waitFor.

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

Как анализировать размер бандла?