template.js
Bir şablon dosyası, her bir alt düzeni veya sayfayı sarması bakımından bir düzene benzer. Rotalar arasında kalıcı olan ve durumu koruyan düzenlerin aksine, şablonlar gezinme sırasında her bir alt düzen için yeni bir örnek oluşturur.
app/template.tsx
export default function Template({ children }: { children: React.ReactNode }) {
return <div>{children}</div>
}


Daha az yaygın olmakla birlikte, isterseniz bir düzen yerine bir şablon seçebilirsiniz:
useEffect
(örn. sayfa görüntülemelerinin kaydedilmesi) veuseState
(örn. sayfa başına geri bildirim formu) adreslerine dayanan özellikler.- Varsayılan çerçeve davranışını değiştirmek için. Örneğin, düzenlerin içindeki Askıya Alma Sınırları, geri dönüşü yalnızca Düzen ilk kez yüklendiğinde gösterir ve sayfalar arasında geçiş yaparken göstermez. Şablonlar için, geri dönüş her gezinmede gösterilir.
Props
children
(required)
Şablon bileşenleri bir children
prop kabul etmeli ve kullanmalıdır. template
bir düzen ve alt öğeleri arasında oluşturulur. Örneğin:
Output
<Layout>
{/* Note that the template is given a unique key. */}
<Template key={routeParam}>{children}</Template>
</Layout>
Bildiğim iyi oldu:
- Varsayılan olarak,
template
bir Sunucu Bileşenidir, ancak"use client"
yönergesi aracılığıyla bir İstemci Bileşe ni olarak da kullanılabilir.- Bir kullanıcı
template
adresini paylaşan rotalar arasında gezindiğinde, bileşenin yeni bir örneği monte edilir, DOM öğeleri yeniden oluşturulur, durum korunmaz ve etkiler yeniden senkronize edilir.
Version History
Version | Changes |
---|---|
v13.0.0 | template introduced. |