Blog

React use() i Suspense: streaming danych bez waterfalli

Sześć kart na dashboardzie, sześć spinnerów, i nie pojawiają się razem – pojawiają się jeden po drugim, jak kostki domina, bo każdy zaczął pobierać dane dopiero wtedy, gdy skończył ten nad nim. To waterfall, a łączne czekanie to nie najwolniejsze zapytanie, tylko suma wszystkich. use() i Suspense rozrywają ten łańcuch, ale najciekawsza jest maszyneria pod spodem: co naprawdę rzuca zawieszony komponent i jak HTML docierający nie po kolei trafia mimo to we właściwe miejsce.

View Transitions w Next.js: animacje przejść między stronami bez biblioteki animacji

Przez dziesięć lat animowanie miniatury w duży obraz oznaczało jedną technikę: zmierz element przed, zmierz po, udawaj różnicę transformem i puść. FLIP. Robi to każda biblioteka animacji i każda płaci za to JavaScriptem na głównym wątku w najgorszym możliwym momencie. View Transitions API przenosi całą tę sztuczkę do przeglądarki – a od Reacta 19.2 i Next.js 16 całym kontraktem jest jeden prop o nazwie name.

Server Actions w Next.js: formularz, który działa, zanim JavaScript się załaduje

„use server” wygląda jak składniowy cukier na fetch do API route – i właśnie dlatego większość wdrożeń traktuje go jak zwykłe wywołanie funkcji. To błąd o konkretnych konsekwencjach: każda funkcja oznaczona „use server” staje się publicznym punktem końcowym w sieci, a formularz zbudowany na tym mechanizmie działa nawet zanim JavaScript zdąży się załadować. Sprawdzam, co faktycznie dzieje się pod tą dyrektywą, i gdzie leżą pułapki, których nie widać w dokumentacji na pierwszy rzut oka.