Куки в NextJS
Кука - небольшая пара имя-значение, которую сервер просит браузер сохранить. При следующих запросах к тому же сайту браузер прикладывает куки к адресу автоматически. Так можно помнить язык интерфейса, идентификатор сессии или факт, что посетитель уже видел подсказку.
В App Router работу с куками на сервере
ведут через функцию cookies
из пакета next/headers.
Она возвращает хранилище. После ожидания
результата можно вызывать методы установки,
чтения и удаления.
В обработчике маршрута route.js
кука попадет в ответ браузеру,
и клиент сохранит ее для следующих визитов.
Давайте создадим обработчик GET запроса
и сохраним куку с английским именем
theme и значением light:
import { cookies } from 'next/headers';
export async function GET() {
let cookieStore = await cookies();
cookieStore.set('theme', 'light');
return new Response('Theme cookie saved');
}
Добавьте обработчик, который при GET запросе
сохраняет куку с именем locale
и значением en.