Blogg

React use() og Suspense: datastrømming uten fossfall

Seks kort på et dashbord, seks spinnere, og de vises ikke sammen — de vises én etter én, som dominobrikker, fordi hver enkelt bare begynte å laste etter at den ovenfor var ferdig. Det er et fossfall, og den totale ventetiden er ikke den tregeste forespørselen, men summen av alle. use() og Suspense bryter kjeden — men det interessante er maskineriet under: hva en suspendert komponent faktisk kaster, og hvordan HTML som ankommer i feil rekkefølge likevel lander på rett sted.

View Transitions i Next.js: sideanimasjoner uten animasjonsbibliotek

I ti år betød animasjon av et miniatyrbilde til et hero-bilde én teknikk: mål elementet før, mål etter, forfalsk forskjellen med en transform og spill av. FLIP. Hvert animasjonsbibliotek gjør det, og hvert betaler for det med JavaScript på hovedtråden på det verst mulige tidspunktet. View Transitions API flytter hele tricket inn i nettleseren — og siden React 19.2 og Next.js 16 er hele kontrakten én prop kalt name.

Server Actions i Next.js: skjemaet som fungerer før JavaScript rekker å laste

«use server» ser ut som syntaktisk sukker for et fetch-kall til en API-rute – og nettopp derfor behandler de fleste implementasjoner den som et vanlig funksjonskall. Det er en feil med konkrete konsekvenser: hver funksjon merket «use server» blir et offentlig endepunkt på nettet, og et skjema bygget på denne mekanismen fungerer selv før JavaScript rekker å laste. Jeg går gjennom hva som faktisk skjer under dette direktivet, og hvor fellene ligger som ikke er åpenbare ved første blikk i dokumentasjonen.

Oppretting av tilgjengelige komponenter for skjermlesere

Korrekt HTML er bare startpunktet. Se hvordan tilgjengelighetstreet faktisk fungerer, hvorfor ARIA oftere skader enn hjelper enn du skulle tro, og bygg en ekte accordion, en live region og fokushåndtering i Next.js sammen med meg.