headers
تتيح لك دالة headers
قراءة رؤوس طلب HTTP الواردة من مكون الخادم (Server Component).
headers()
هذه API تمتد لواجهة Web Headers API. وهي للقراءة فقط، مما يعني أنه لا يمكنك تعيين
أو حذف
رؤوس الطلب الصادرة.
import { headers } from 'next/headers'
export default function Page() {
const headersList = headers()
const referer = headersList.get('referer')
return <div>Referer: {referer}</div>
}
import { headers } from 'next/headers'
export default function Page() {
const headersList = headers()
const referer = headersList.get('referer')
return <div>Referer: {referer}</div>
}
معلومة مفيدة:
headers()
هي دالة ديناميكية (Dynamic Function) لا يمكن معرفة قيمها المُرجعة مسبقًا. استخدامها في تخطيط أو صفحة سيؤدي إلى اختيار المسار لـ عرض ديناميكي (dynamic rendering) وقت الطلب.
مرجع API
const headersList = headers()
المعاملات
لا تأخذ headers
أي معاملات.
القيم المُرجعة
ترجع headers
كائن Web Headers للقراءة فقط.
Headers.entries()
: تُرجع مكررًا (iterator) يسمح بالمرور عبر جميع أزواج المفتاح/القيمة في هذا الكائن.Headers.forEach()
: تنفذ دالة معينة مرة واحدة لكل زوج مفتاح/قيمة في كائنHeaders
هذا.Headers.get()
: تُرجع سلسلة نصية (String) تحتوي على جميع قيم رأس معين في كائنHeaders
.Headers.has()
: تُرجع قيمة منطقية تشير إلى ما إذا كان كائنHeaders
يحتوي على رأس معين.Headers.keys()
: تُرجع مكررًا (iterator) يسمح بالمرور عبر جميع مفاتيح أزواج المفتاح/القيمة في هذا الكائن.Headers.values()
: تُرجع مكررًا (iterator) يسمح بالمرور عبر جميع قيم أزواج المفتاح/القيمة في هذا الكائن.
أمثلة
الاستخدام مع جلب البيانات
يمكن استخدام headers()
مع Suspense لجلب البيانات (Suspense for Data Fetching).
import { headers } from 'next/headers'
async function getUser() {
const headersInstance = headers()
const authorization = headersInstance.get('authorization')
// تمرير رأس التفويض
const res = await fetch('...', {
headers: { authorization },
})
return res.json()
}
export default async function UserPage() {
const user = await getUser()
return <h1>{user.name}</h1>
}
سجل الإصدارات
الإصدار | التغييرات |
---|---|
v13.0.0 | تم إدخال headers . |