Định Tuyến Động Trong NextJS

Trong NextJS, bạn có thể tạo các tuyến đường động. Những tuyến đường như vậy giả định rằng một phần của URL có thể có giá trị tùy ý. Ví dụ, lấy địa chỉ /users/1, trong đó thay vì số một có thể là bất kỳ số nào, về mặt kỹ thuật tương ứng với id của người dùng mà chúng ta muốn hiển thị.

Trong trường hợp này, chúng ta không cần tạo nhiều thư mục cho mỗi số có thể có. Chỉ cần khai báo phần này của địa chỉ là động. Khi đó tất cả các yêu cầu dạng này sẽ được xử lý bởi một tệp chung page.jsx.

Để tạo một tham số động, cần đặt tên thư mục tương ứng trong dấu ngoặc vuông. Trong trường hợp của chúng ta, đây sẽ là cấu trúc thư mục sau:

Hãy tạo một component tương ứng:

app/users/[id]/page.jsxexport default function User() {
  return <p>
    user
  </p>;
}

Tham số mà chúng ta đặt sẽ được lưu trữ trong một đối tượng đặc biệt params. Hãy hiển thị giá trị của tham số này:

app/users/[id]/page.jsxexport default function User({ params }) {
  return <p>
    user {params.id}
  </p>;
}
Задание 1

Tạo một tuyến đường xử lý các địa chỉ dạng /city/:name, trong đó thay vì :name có thể là bất kỳ chuỗi nào.

Задание 2

Tạo một tuyến đường xử lý các địa chỉ dạng /show/:country/:city, trong đó thay vì :country và :city có thể là bất kỳ chuỗi nào.

Задание 3

Tạo một tuyến đường xử lý các địa chỉ dạng /post/:id, trong đó thay vì :id có thể là bất kỳ số nào.

Giả sử có mảng sau:

page.jsxlet posts = [
  'post1',
  'post2',
  'post3',
  'post4',
  'post5',
];

export default function Post() {
  
}

Hãy làm sao cho tùy thuộc vào giá trị của tham số id trong phần tử component, bài post tương ứng sẽ được hiển thị.

Задание 4

Tạo một tuyến đường xử lý các địa chỉ dạng /prod/:id, trong đó thay vì :id có thể là bất kỳ số nào.

Giả sử có mảng sau:

page.jsxlet prods = [
  {
    id: 1,
    name: 'prod1',
    cost: 100,
  },
  {
    id: 2,
    name: 'prod2',
    cost: 200,
  },
  {
    id: 3,
    name: 'prod3',
    cost: 300,
  },
];

export default function Prod() {
  
}

Hãy làm sao cho tùy thuộc vào giá trị của tham số id trong phần tử component, sản phẩm tương ứng sẽ được hiển thị.