React 19.3, client-only rendering için browser() API'sini ekledi
React 19.3, sunucu tarafı render'ı atlamak isteyen bileşenler için browser() adında resmi bir yol ekledi ve paket npm'e 9 Eylül'de çıktı.
React 19.3, react-dom içine browser() adlı yeni bir API ekledi. Bu API, bir bileşenin sunucu tarafı render'ı resmi olarak devre dışı bırakmasına izin veriyor. Sürüm npm'e 9 Eylül'de yayınlandı.
Yeni kullanımda, bir Client Component içinde ve bir Suspense sınırının altında use(browser()) çağrılıyor. Bu çağrı, bileşeni sunucuda suspend ediyor; hydration tamamlandıktan sonra bileşen tarayıcıda normal biçimde render ediliyor. React ayrıca, server rendering atlandığında bunu raporlamak için onBrowserBailout callback'ini ve bir reason argümanını da ekledi. Özellik Canary'de kullanılabiliyor, ancak reference belgesinde browser() hâlâ Canary only olarak işaretli.
React bu yeteneği core'a taşımadan önce benzer kaçış yolları Next.js dynamic(..., { ssr: false }) ve Astro client:only ile sağlanıyordu. browser() ile bu desen artık herhangi bir SSR stack için React'in kendi parçası haline geliyor.
Neden önemli
Server-side rendering'i bilerek atlamak isteyen ekipler için bu davranış artık framework'e özel bir numara değil, React'in adı konmuş bir parçası. Client state'e bağlı bileşenleri daha açık bir şekilde ayırmak ve SSR atlamalarını izlemek kolaylaşıyor. Bu da farklı SSR kurulumlarında aynı yaklaşımı kullanmayı mümkün kılıyor.
Kalsın mı, çizilsin mi?
Bu haber önemli mi, yoksa abartı mı? Başkalarının ne dediğini görmeden önce sen işaretle.
Kaynaklar
- InfoQ