NextJS 属性“set”在类型“ReadonlyRequestCookies”上不存在

bag*_*gus 5 cookies reactjs next.js react-server-components next.js13

我正在尝试在 Next.js 13.4.1 中的服务器操作函数内设置 cookie。 示例代码

import { cookies } from 'next/headers';
 
async function create(data) {
  'use server';
  cookies().set('name', 'lee');
  // or
  cookies().set('name', 'lee', { secure: true });
  // or
  cookies().set({
    name: 'name',
    value: 'lee',
    httpOnly: true,
    path: '/',
  });
}
Run Code Online (Sandbox Code Playgroud)

但我收到消息错误: Property 'set' does not exist on type 'ReadonlyRequestCookies'

我错过了什么吗?

小智 1

这很奇怪,因为它应该正常工作。

也许您在“使用客户端”组件中使用它?你不能在那里使用它。请使用“cookies-next”代替。

在我的项目服务器端组件中,我使用它const nextjsCookies = cookies(); 来初始化 cookie 并设置 cookienextjsCookies.set("test", "test");