Till innehållet
Till startsidan
Porträtt på Nelly Ekstrand

Optimerad Hantering av Hoisted Elements och Resurser

I den ursprungliga implementationen av Float hanterades alla hoisted elements som resurser, vilket ledde till vissa utmaningar särskilt vid sekvenser av metataggar för metadata som og:image. Utmaningen låg i avdupliceringen av dessa taggar, eftersom de inte kunde avdupliceras enbart baserat på sina egenskaper.
20 oktober 2025
Dataflödesschema
Dataflödesschema

Det blev klart att konceptet för webbläsarresurser inte kunde tillämpas universellt på alla hoisted taggar som titel, meta och andra länkar. Dessutom led resurserna av bristen på uppdateringsbegränsningar, vilket gjorde det svårt för utvecklare att resonera om och hantera dem effektivt.

För att övervinna dessa utmaningar introducerades Hoistables, en generalisering av Floats koncept, som införde två distinkta kategorier: hoistable elements och hoistable resources. Med denna uppdelning kunde man mer effektivt hantera olika typer av hoisted data.

Hissbara element renderas på servern som vanliga taggar, men kan också renderas tidigare för att förbättra prestanda. På klienten beter de sig som värdkomponenter men med en annan hydratiseringsstrategi för att säkerställa korrekt parning med DOM-instanser.

Hissbara resurser, å andra sidan, hoistas och avdupliceras via en href-nyckel och räknas för att möjliggöra effektiv hantering och eventuell rensning av oanvända resurser.

Stöd för <style>-taggar har också lagts till, vilket gör det möjligt att behandla dem som resurser för att underlätta inlining av externa stilmallar och hantering av inlinestilar. Detta ger avancerad funktionalitet som kan vara särskilt användbar för olika stylingbibliotek och utvecklare som vill optimera sin CSS-hantering.

Sammanfattningsvis möjliggör Hoistables en mer strukturerad och effektiv hantering av hoisted elements och resurser, vilket bidrar till förbättrad prestanda och bättre hanterbarhet för utvecklare. Med dess implementering kan man nu mer smidigt och säkert arbeta med dessa viktiga delar av webbutveckling.

Läs mer på https://github.com/facebook/react/pull/26106

Behöver ni ett starkt webbteam redan idag?

Prata med Axel, vår konsultchef, ring honom på +46703557355 eller mejla axel@weahead.se

Axel F