Server Actions — feature Next.js App Router (stable с Next 14, 2023), async функции на сервере, вызываемые прямо из React компонентов (форма или button). Без необходимости writing API route. Помеченые "use server" directive. Progressive enhancement: работают без JS через native form submission. Замена для API-route + client-side fetch-pattern для mutations.
Ниже: подробности, пример, смежные термины, FAQ.
Бесплатный онлайн-инструмент — тест скорости страницы: результат мгновенно, без регистрации.
"use server" в начале async function<form action={submitAction}> — работает без JS"use server";
export async function createPost(formData) {
const session = await auth();
if (!session) throw new Error('Unauthorized');
await db.post.create({ data: { title: formData.get('title') } });
revalidatePath('/posts');
}Server Actions — это новая функциональность в Next.js, внедренная в версии 2026, позволяющая разработчикам выполнять серверные операции непосредственно из компонентов React. Это упрощает взаимодействие с сервером и позволяет использовать более чистый и лаконичный код. Например, вы можете использовать async функции для обработки данных, что уменьшает необходимость в дополнительных API вызовах.
Настройка Server Actions в Next.js начинается с создания функции, которая будет обрабатывать запросы на сервере. Для начала вам нужно создать файл, например, app/actions.js, где вы определите ваши действия. Пример кода:
export async function createUser(data) { const response = await fetch('/api/users', { method: 'POST', body: JSON.stringify(data), headers: { 'Content-Type': 'application/json', }, }); return response.json(); }Затем вы можете использовать эту функцию в вашем компоненте:
import { createUser } from './actions'; async function handleSubmit(formData) { const user = await createUser(formData); console.log(user); }Таким образом, вы можете легко интегрировать серверные действия в свою логику приложения, делая код более чистым и понятным.
Использование Server Actions в Next.js предоставляет несколько преимуществ:
async/await упрощает работу с асинхронными данными.С Server Actions вы можете оптимизировать работу вашего приложения, сделать его более отзывчивым и упростить поддержку кода. Например, если у вас есть форма для регистрации пользователей, вы можете обработать ее данные на сервере, не создавая отдельный API. Это не только ускоряет процесс, но и улучшает опыт пользователей.
Скорость загрузки напрямую влияет на конверсию, SEO-позиции и удовлетворённость пользователей. Google использует Core Web Vitals как фактор ранжирования. Каждая лишняясекунда загрузки может стоить до 7% конверсии.
Анализ на основе Google Lighthouse: Performance, Accessibility, Best Practices, SEO.
LCP (скорость отрисовки), FID (интерактивность), CLS (визуальная стабильность) — ключевые метрики Google.
Разбивка по типам: HTML, CSS, JavaScript, изображения, шрифты. Размер, количество запросов, блокирующие ресурсы.
Конкретные рекомендации с оценкой экономии: сжатие изображений, кеширование, минификация и т.д.
Core Web Vitals для ранжирования
оптимизация производительности
скорость = конверсия
регрессия производительности
async/defer блокируют отрисовку. Переместите в конец или добавьте атрибут.Cache-Control браузер перезагружает CSS/JS при каждом визите.loading="lazy" для изображений ниже first fold.brotli on;Cache-Control: max-age=31536000, immutable. HTML: max-age=0, s-maxage=60.<link rel="preload"> для шрифтов и CSS. Уменьшает LCP на 200-500ms.История проверок скорости, сравнение с конкурентами и мониторинг PageSpeed.
Зарегистрироваться (FREE)Server Actions — short-lived, вызываются из компонента, type-safe, RPC-like. API routes — public endpoints для external clients.
Требуется re-validate auth + input внутри action. Next.js добавляет CSRF protection автоматически. Но всегда проверяйте ownership (IDOR).
Да! Если form action — Server Action, submit работает через native form POST без JS. Progressive enhancement.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.