nextjs的headers和NextResponse

350 阅读1分钟

headers

这个函数可以让你从服务器组件中读取http传入的请求标头。

这个是只读的。

import { headers } from 'next/headers';

export default function Page() {
  const headersList = headers();
  const referer = headersList.get('referer');
}

这个是获取header的代码。

# NextResponse

可以使用NextResponse来修改cookie的值。

import { NextResponse } from 'next/server';

let response = NextResponse.next();
response.cookies.set('show-banner', 'false');

notFound函数

调用这个函数会抛出NEXT_NOT_FOUND错误并终止渲染抛出该错误的路有断。

import { notFound } from 'next/navigation';

async function fetchUser(id) {
  const res = await fetch('https://api.github.com/users/' + id);
  if (!res.ok) {
    notFound();
  }
}