Next.js 15 memperkenalkan fail template
, rakan sejawat kepada layout
, menawarkan kawalan berbutir ke atas gelagat reka letak semasa navigasi. Panduan ini menjelaskan perbezaan antara template
dan layout
, menggariskan aplikasi dan amalan terbaiknya.
Next.js template
mentakrifkan reka letak boleh guna semula yang menyegarkan keadaannya atau memaparkan semula apabila peralihan halaman. Ini berbeza daripada layout
, yang mengekalkan keadaan merentas peralihan.
Feature | Layout | Template |
---|---|---|
State Persistence | Retains state during route changes. | Resets state on each route change. |
Reusability | Provides consistent layouts across pages. | Similar to `layout`, but ensures fresh rendering for every page. |
Use Cases | Ideal for persistent elements like headers, sidebars, or footers. | Suitable for layouts needing resets or re-initialization per route, such as forms or dynamic content. |
Rendering | Doesn't re-render between sibling routes. | Re-renders with every route change. |
Gunakan template
apabila:
Gunakan layout
apabila:
Contoh ini menyerlahkan perbezaan layout
dan template
.
Menggunakan layout
(Negeri Berterusan):
<code>// app/layout.tsx import './globals.css'; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body> <p>Header Content</p> {children} </body> </html> ); }</code>
layout
tidak dipaparkan semula.Menggunakan template
(Tetapan Semula Negeri):
<code>// app/template.tsx import './globals.css'; export default function RootTemplate({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body> <p>Header Content</p> {children} </body> </html> ); }</code>
template
.template
cemerlang dalam mengurus kandungan dinamik. Dalam apl e-dagang, fail template
memastikan penapisan atau input carian ditetapkan semula apabila menavigasi antara kategori produk.
Contoh: Penapisan Produk Dinamik
<code>// app/shop/template.tsx export default function ShopTemplate({ children }: { children: React.ReactNode }) { return ( <main><h1>Shop</h1> {children} </main> ); }</code>
Input carian ditetapkan semula dengan setiap perubahan kategori, memberikan pengalaman pengguna yang bersih.
Menilai Keperluan Negeri: Gunakan layout
untuk keadaan berterusan (navigasi, pengesahan); gunakan template
untuk menetapkan semula komponen sensitif keadaan (borang, penapis dinamik).
Elakkan Penggunaan Templat Berlebihan: template
adalah berharga, tetapi penggunaan berlebihan membawa kepada pemaparan semula yang tidak perlu. Pilih layout
untuk komponen statik atau kurang dinamik.
Utamakan Prestasi: Pastikan templat ringkas, mengelakkan pengiraan rumit atau komponen besar.
Ujian Navigasi: Sahkan bahawa pilihan layout
/template
anda sejajar dengan pengalaman pengguna, terutamanya untuk elemen interaktif seperti borang atau modal.
Memahami perbezaan antara layout
dan template
dalam Next.js 15 adalah penting untuk membina aplikasi yang cekap dan mesra pengguna. layout
memberikan kegigihan dan kestabilan, manakala template
menawarkan fleksibiliti untuk tetapan semula keadaan dan pemaparan semula dinamik. Penggunaan kedua-dua ciri yang berkesan menghasilkan aplikasi yang berprestasi dan intuitif.
Jom berhubung di LinkedIn atau GitHub ?
Atas ialah kandungan terperinci Memahami Fail Templat dalam Next.js Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!