v2.5.2
Giriş yap

Next.Js Dynamic Routing

Anonim
262 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhabalar, İyi Hafta sonları,

Next JS ile ilgili bir sorum var fakat internette hep aynı örnekler ve
karşılığını bulamadığım bir yapı var.

Next Js 'i app directory olarak kullanıyorum.

Tek bir page.js dosyam var. link ne olursa olsun istek buraya düşsün istiyorum.

Örnek ;
1-) /
2-) /women
3-) /women/skirts
4-) /tr/kadin/ust-giyim

Amacım bunları tek bir page kısmına düşürmek.

** Ekstra bir middleware yazmadan yapmam gerekiyor.

Cevap yaz
Cevaplar (2)
mhmnm
243 gün önce
gokcin
297 gün önce

Next.js'te sayfaların nasıl oluşturulacağı ve yönlendirileceği konusunda esnek bir yapı vardır. Eğer tek bir sayfa dosyasında tüm bu yolları yönetmek istiyorsanız, dinamik yolları kullanabilirsin

Öncelikle, pages dizininde [[...slug]].js adında bir dosya oluşturun. Bu dosyanın adında üç nokta içeren bir kısım, dinamik olarak gelen yolları temsil eder.

[[...slug]].js içeriği şu şekilde olabilir:

// pages/[[...slug]].js
import { useRouter } from 'next/router';

const DynamicPage = () => {
  const router = useRouter();
  const { slug } = router.query;

  // slug parametresini kullanarak istediğiniz işlemleri yapabilirsiniz
  // örneğin slug[0] ile ana kategori, slug[1] ile alt kategori alabilirsiniz

  return (
    <div>
      <h1>Dynamic Page</h1>
      <p>Slug: {slug}</p>
    </div>
  );
};

export default DynamicPage;

Bu sayfa, dinamik olarak gelen yolu alır ve bu yolu kullanarak istediğiniz işlemleri gerçekleştirebilirsiniz.

Örnek URL'ler:

  • /
  • /women
  • /women/skirts
  • /tr/kadin/ust-giyim

Bu URL'leri kullanarak sayfanıza ulaştığınızda, router.query.slug içinde ilgili yol bilgisini alabilir ve istediğiniz işlemleri gerçekleştirebilirsiniz.

Bu şekilde, tek bir sayfa dosyasında dinamik yolları yönetmiş olursunuz ve herhangi bir ekstra middleware kullanmanıza gerek kalmaz.