وانەی دووەم: دروستکردن و بەستنەوەی چەندین لاپەڕە

چۆن دەتوانین چەندین لاپەڕە لە پرۆژەی Next.js دروست بکەین و چۆن بە بەکارهێنانی پێکهاتەی Link بەستنەوەیان بکەین.

فێرکاری Next js

February 20, 2025

Lesson Two: Creating Multiple Pages and Linking Them

وانەی دووەم: دروستکردن و بەستنەوەی چەندین لاپەڕە

پێشەکی

لە بەرنامە مۆدێرنەکاندا، زۆرجار پێویستە بەستەر لە نێوان لاپەڕە جیاوازەکانی ناو بەرنامەکەدا دابین بکەیت. لەم وانەیەدا فێر دەبین کە چۆن دەتوانین چەندین لاپەڕە لە پرۆژەیەکی Next.js دروست بکەین و چۆن بە بەکارهێنانی پێکهاتەی Link بەستنەوەیان بکەین.

 


1. دروستکردنی لاپەڕەی نوێ

لە Next.js دا، هەر فایلێک لە فۆڵدەری pages/ نوێنەرایەتی لاپەڕەیەکی جیاواز دەکات. با دوو لاپەڕەی نوێ دروست بکەین:

 

لاپەڕەی "دەربارە"

  • فۆڵدەری pages/ لە پرۆژەکەت کرێکەوە.
  • فایلێک دروست بکە بە ناوی about.js .
  • ئەم کۆدەی خوارەوە لەناو فایلەکەدا زیاد بکە:

 

export default function About() {
return (
<div>
<h1>ئێمە کێین؟</h1>
<p>ئەمە لاپەڕەیەکە دەربارەی سایتەکە.</p>
</div>
);
}

 

 

لاپەڕەی "پەیوەندی"

  • لەناو فۆڵدەری pages/ ، فایلێکی تر بە ناوی contact.js دروست بکە.
  • ئەم کۆدەی خوارەوە لەناو فایلەکەدا زیاد بکە:

 

export default function Contact() {
return (
<div>
<h1>پەیوەندیمان پێوە بکەن</h1>
<p>دەتوانن لە ڕێگەی ئیمەیڵ یان تەلەفۆنەوە پەیوەندیمان پێوە بکەن.</p>
</div>
);
}

 

 


2. بەکارهێنانی پێکهاتەی Link بۆ گەشتکردن لە نێوان لاپەڕەکان

بۆ گەشتکردن لە نێوان لاپەڕەکان لە Next.js ، ئێمە پێکهاتەی Link لە کتێبخانەی next/link بەکاردەهێنین. ئەم پێکهاتەیە ڕێگەیەکی کارا بۆ گەشتکردن بەبێ دووبارە بارکردنەوەی تەواوی لاپەڕەکە دابین دەکات، ئەمەش وا دەکات بەرنامەکە خێراتر و کاراتر بێت.

 

دەستکاریکردنی لاپەڕەی سەرەکی (index.js )

  • فایلی pages/index.js کرێکەوە و ئەم گۆڕانکاریانەی خوارەوە بکە:

 

import Link from 'next/link';


export default function Home() {
return (
<div>
<h1>سوپاس بۆ ئەوەی بەشداریت بۆ ماڵپەڕەکەمان!</h1>
<p>لاپەڕەیەک هەڵبژێرە:</p>
<nav>
<ul>
<li>
<Link href="/about">
<a>دەربارەی سایتەکە</a>
</Link>
</li>
<li>
<Link href="/contact">
<a>پەیوەندیمان پێوە بکەن</a>
</Link>
</li>
</ul>
</nav>
</div>
);
}

 

 

 

ڕوونکردنەوەی کۆد:

  • ئێمە پێکهاتەی Link لە next/link هاوردە کرد.
  • ئێمە توخمە <Link> بەکارهێنا بۆ بەستنەوەی لاپەڕەکان.
  • لەناو <Link> دا، ئێمە تایبەتمەندی href بەکارهێنا بۆ دیاریکردنی ئەو ڕێگایەی کە دەمانەوێت بچینە سەری.
  • ئێمە توخمە <a> لە ناو <Link> بەکارهێنا بۆ پیشاندانی دەقی کلیککراو.

 


3. ئەزموونی بەڕێوەبردنی پرۆژە و جوڵە

دوای پاشەکەوتکردنی گۆڕانکارییەکانتان، دەتوانیت بەم فرمانە پڕۆژەکە جێبەجێ بکەیت ئەگەر پێشتر کارنەکردبێت:

npm run dev

 

 

  • وێبگەڕەکەت کرێکەوە و ڕۆ بۆ http://localhost:3000 .
  • تێبینی ئەوە دەکەیت کە ئێستا لینکی لاپەڕەکانی دەربارەی و پەیوەندی هەیە.
  • کاتێک کلیک لەسەر هەریەکێکیان دەکەیت، دەبرێتە سەر لاپەڕەی دڵخواز بەبێ ئەوەی پێویست بکات تەواوی لاپەڕەکە باربکەیتەوە.

 


4. پشتگیری ڕێڕەوی داینامیکی

هەروەها Next.js پشتگیری لە Dynamic Routes دەکات، واتە دەتوانیت لاپەڕەیەک دروست بکەیت کە پشت بە داتا داینامیکیەکان ببەستێت. با نموونەیەکی سادە وەربگرین:

 

لاپەڕەیەکی داینامیکی دروست بکە

  • فۆڵدەری pages/ کرێکەوە.
  • فۆڵدەرێک دروست بکە بە ناوی products/ .
  • لەناو فۆڵدەری products/ دا، فایلێک دروست بکە بە ناوی [id].js .

 

تێبینی: ناوی فایلی [id].js ئاماژەیە بۆ ئەوەی کە ئەم لاپەڕەیە داینامیکە و بەهای id وەک بەشێک لە ڕێڕەوەکە وەردەگرێت.

 

کۆدەکە زیاد بکە بۆ [id].js :

export default function Product({ id }) {
return (
<div>
<h1>وردەکارییەکانی بەرهەم</h1>
<p>IDی بەرهەم: {id}</p>
</div>
);
}


export async function getServerSideProps(context) {
const { id } = context.params; // ID لە ڕێڕەوەوە وەربگرە
return {
props: {
id, // ID تێپەڕاندن بۆ پێکهاتە
},
};
}

 

 

بەستەرێک بۆ لاپەڕەی داینامیکی زیاد بکە

  • فایلی index.js دەستکاری بکە بۆ زیادکردنی بەستەرێک بۆ بەرهەمەکان:

 

import Link from 'next/link';


export default function Home() {
return (
<div>
<h1>سوپاس بۆ ئەوەی بەشداریت بۆ ماڵپەڕەکەمان!</h1>
<p>لاپەڕەیەک هەڵبژێرە:</p>
<nav>
<ul>
<li>
<Link href="/about">
<a>دەربارەی سایتەکە</a>
</Link>
</li>
<li>
<Link href="/contact">
<a>پەیوەندیمان پێوە بکەن</a>
</Link>
</li>
<li>
<Link href="/products/123">
<a>بەرهەمی ژمارە 123</a>
</Link>
</li>
</ul>
</nav>
</div>
);
}

 

 


5. تاقیکردنەوەی ڕێڕەوی داینامیکی

  • وێبگەڕەکەت کرێکەوە و ڕۆ بۆ http://localhost:3000/products/123 .
  • لاپەڕەیەکت پیشان دەدرێت کە وردەکارییەکانی بەرهەمەکە پیشان دەدات بە پشتبەستن بە ID .

 


کۆتایی وانەی دووەم

لەم وانەیەدا فێربوویت چۆن:

  • دروستکردنی چەندین لاپەڕە لە Next.js .
  • بەکارهێنانی پێکهاتەی Link بۆ گەشتکردن لە نێوان لاپەڕەکان.
  • ڕێڕەوی داینامیکی دروست بکە بە بەکارهێنانی فایلەکانی وەک [id].js .

 

لە وانەی داهاتوودا باس لە بەڕێوەبردنی ستایلەکان دەکەین لە Next.js و چۆنیەتی زیادکردنی CSS و لایەنەکانی ستایل بۆ ئەپەکەت.

 

تا دوایی لە وانەی سێهەم! 🚀

  • Web development tutorial A-0

    فێربوونی بەرنامەسازی ماڵپەڕ A-0

    لە سفرەوە بۆ پڕۆ: گەشتی تەواوی پەرەپێدانی وێب

    بینینی بابەت
  • Differences Between Android and iOS

    جیاوازی نێوان ئەندرۆید و ئای ئۆ ئێس

    بەرنامەسازی ئەپی مۆبایل: جیاوازی نێوان ئەندرۆید و ئای ئۆ ئێس و باشترین پراکتیزەکان

    بینینی بابەت
  • Game Development with Unity

    پەرەپێدانی یاری بە بەکارهێنانی یونیتی

    پەرەپێدانی یاری لەگەڵ یونیتی: لە بیرۆکەوە بۆ بەرهەمی تەواو

    بینینی بابەت
  • Mastering Programming with Python

    شارەزایی لە بەرنامەسازی بە بەکارهێنانی پایتۆن

    شارەزابوون لە بەرنامەسازی بە پایتۆن: پڕۆژە و ئامۆژگاری دەستی

    بینینی بابەت
  • What are the benefits of websites

    سوودەکانی ماڵپەڕەکان چین؟

    سوودەکانی ماڵپەڕی کۆمپانیاکان

    بینینی بابەت
  • Web development tutorial A-1

    فێربوونی بەرنامەسازی ماڵپەڕ A-1

    وانەی یەکەم: فێربوونی HTML لە سفرەوە - پێشەکییەکی گشتگیر لەگەڵ ڕێکخستنی ئامرازەکان

    بینینی بابەت
  • Web development tutorial A-2

    فێربوونی بەرنامەسازی ماڵپەڕ A-2

    وانەی دووەم: فێربوونی HTML لە سفرەوە - تاگە پێشکەوتووەکان و خشتەکان

    بینینی بابەت
  • Artificial Intelligence Qwen AI

    ئینتەلیکەنی ئارەزویی Qwen AI

    Qwen AI مۆدێلی زانستی ئارەزویییە چەندکارەیە کە زمانەکان پشتگیری دەکات و کارە خەیاڵی و کاراکەرەکان دەڕێژێت

    بینینی بابەت