Konfigurasi metadata dinamik direktori aplikasi Next.js untuk memadankan nilai status
P粉713866425
P粉713866425 2023-12-28 22:59:40
0
1
421

Dalam direktori Next.js 13app, saya melihat dalam dokumentasi rasmi bahawa mereka telah meninggalkan kaedah kepala lama untuk menggunakan metadata, yang saya fikir hanya boleh digunakan pada halaman atau reka letak.

Saya ingin menukar tajuk berdasarkan nilai status, bagaimana saya boleh melakukannya? Objek dalam metadata berada di luar komponen, jadi saya tidak boleh merujuknya.

import type { Metadata } from 'next';
 
export const metadata: Metadata = {
  title: 'Home',
  description: 'Welcome to Next.js',
};
 
export default function Page() {
  return '...';
}


P粉713866425
P粉713866425

membalas semua(1)
P粉025632437

Jika mengikut "state" anda bermaksud sesuatu yang serupa dengan "useState", maka ini tidak mungkin. Kerana metadata仅适用于服务器组件,而useState hanya boleh digunakan dalam komponen pelanggan. Dokumen berkata : p>

Untuk halaman biasa, anda biasanya tahu metadata yang ingin anda pulangkan, jadi objek metadata元数据对象应该足够了。如果页面是动态的,则有 generateMetadata sepatutnya mencukupi. Jika halaman itu dinamik, terdapat generateMetadata

Berikut ialah contoh penetapan tajuk secara dinamik:

// app/products/[id]/page.tsx

export async function generateMetadata({ params, searchParams }) {
  // read route params
  const id = params.id;

  // fetch data
  const product = await fetch(`/api/products/${id}`).then((res) => res.json());

  // return a dynamic title
  return {
    title: product.title,
  };
}

export default function Page() {
  return '...';
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!