الواجهة البرمجيّة للمكون next/head في Next.js
يُستخدم هذا العنصر المدمج في ربط العناصر إلى ترويسة الصفحة:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>My page title</title>
</Head>
<p>Hello world!</p>
</div>
)
}
export default IndexPage
يمكنك استخدام الخاصية key لمنع نسخ نفس العنصر في الترويسة head، إذ تتأكد هذه الخاصية أن العنصر سيُصيَّر مرة واحدة كما في المثال التالي:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>My page title</title>
<meta property="og:title" content="My page title" key="title" />
</Head>
<Head>
<meta property="og:title" content="My new title" key="title" />
</Head>
<p>Hello world!</p>
</div>
)
}
export default IndexPage
يُصيَّر في هذه الحالة العنصر الثاني </ "meta property="og:title>، ويتعامل المكوّن head مع العناصر meta ذات السمة key المكررة تلقائيًا.
يُحذف محتوى المكوّن
headعند إزالته من شجرة المكوّنات، لهذا عليك التحقق من تحديد كل صفحة ما تحتاجه في الترويسةheadدون تخمين ما أضافته الصفحات الأخرى.
لا بد أن تكون العناصر title و meta وغيرها (مثل script) أبناءً مباشرين للعنصر Head أو أن تُغلف ضمن المستوى الأول من قائمة <React.Fragment> أو المصفوفات، وإلا لن يُلتقط العنصر بشكل صحيح عند التنقل في الواجهة الأمامية.
ننصح باستخدام
next/scriptفي مكوّنك بدلًا من إنشاء العنصر يدويًا<script>ضمن المكوِّنnext/head.
أمثلة
المصادر
- الصفحة Next/head من توثيق Next.js الرسمي.