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