cookies
next.js允许你通过 cookies()
函数从服务器组件读取 HTTP 传入请求 cookie,同时也支持写入 cookie。
cookies().get(name)
从cookies中获取指定名称的cookie值。
import { cookies } from 'next/headers'
export default function Page() {
const cookieStore = cookies()
const theme = cookieStore.get('theme')
return '...'
}
cookies().getAll()
从cookies中获取所有cookie值。
cookies().has(name)
判断指定名称的cookie是否存在。
cookies().set(name, value, options)
设置指定名称的cookie值。
'use server'
import { cookies } from 'next/headers'
async function create(data) {
cookies().set('name', 'lee')
cookies().set('name', 'lee', { secure: true })
cookies().set({
name: 'name',
value: 'lee',
httpOnly: true,
path: '/',
})
}
options.maxAge
: 设置cookie的过期时间,单位为秒。options.expires
: 设置cookie的过期时间戳,相比maxAge,expires是一个绝对时间,但是可能会收到时区影响。
cookies().delete(name)
删除指定名称的cookie。