Sette sezioni smettere di idratare

Performancekamo-marketing
Shipped
19 agosto 2026 alle ore 20:37 UTC
Author
Kamo
Commit
7ba3b84

Passo B. TrustBar, Che cosa sostituisceChe, HowItWorks, UseCases, Caratteristiche, CTAStrip e I prezzi sono componenti del server. Essi rendono HTML e non spediscono JavaScript. L'unica cosa che li teneva sul client era l'analisi. Nessuno dei sette aveva stato, una rif o un effetto — la loro intera interattività era `onClick={() => trackEvent(...)}` su un link, e che il singolo oggetto stava trascinando L'intero albero di ogni sezione è in idratazione. È un attributo `data-track` ora, letto da un ascoltatore delegato montato una volta per la pagina. Deliberatamente NON `data-analytics-event`, e questo è il motivo TrackedClicks esiste piuttosto che l'attributo del tracker: analytics installa un listener di fase di acquisizione e, per qualsiasi ancora che lo trasporta, chiama prevenireDefault(), attende il suo faro, quindi imposta la posizione. href — trasformando una navigazione client in "aspetta per l'analisi, quindi hard reload", misurato su questo sito a 1,5-8s di tempo morto per clic, e vietato E' solo che... L'ascoltatore qui non tocca mai l'evento: no preventDefault, no stopPropagation, no wait. Tutti e cinque i nomi degli eventi sopravvivono, verificati contro le fonti di preconversione — cta-start-free, cta-view-pricing, cta-contact-sales, nav-click, home-feature-learn-more. I conti resi sono più alti dei conti del call-site perché i siti di chiamata sono all'interno `.map()`: dodici schede, sei piani. Tutti 22 attributi atterrare sul <a> o <button> stesso e ogni valore dei dati-track-props parses come JSON. HomeClient non è più un componente client, che è il cambiamento che ha fatto il riposo possibile — un componente client non può importare un server uno, quindi la direttiva in cima a quel file aveva deciso la strategia di rendering per Tutta la pagina. I suoi "involucri" e i confini di Suspense sono andati con esso: erano componenti di codice-splitting che tutti idratati comunque, e riserva `min-h-[600px]` per il contenuto che il server aveva già prodotto. Le due uova di Pasqua ancora bisogno di `ssr: falso`, così siedono dietro il loro piccolo limite cliente. Otto componenti rimangono sul cliente, e la lista è ora onesta: SharedNavigation, JumpToBar, ScrollProgress e Hero per scorrimento e riproduzione stato; ShippedStrip perché fetches; FAQ per la sua fisarmonica; SignupSection per la sua forma; Footer per il back-to-top. IL TRADO, perché questo non è libero. L'albero reso di un componente server è serializzato nel carico utile del volo RSC così come l'HTML, quindi il documento è cresciuto mentre il JavaScript brilla: JS chunks 261,999 -> 243,579 gzip (-18,420 e 23 pezzi -> 15) documento 39,895 -> 53,877 gzip (+13,982) rete -4,438 I byte sono vicini a un lavaggio. Il punto è l'altro asse: sette componenti in meno alberi da idratare, contro la valutazione dello script misurata a 922 ms e un LCP "l'element render delay" di 1.810 ms. Questo è il costo a cui si rivolge, ed è non visibile in un byte count. È anche per questo che questo atterra come il proprio impegno. Se una corsa dice diversamente, questo ripristina la composizione client senza toccare il lavoro di Step A.

All changes

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo