- 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.