返回 Skill 列表
extension
分类: 开发与工程无需 API Key

managing-server-actions

定义了Next.js 15 Server Actions处理变更的安全标准模式。用于表单提交和数据更新。

person作者: jakexiaohubgithub

Server Actions and Mutations

When to use this skill

  • When handling form submissions ('use server').
  • When mutating data in Appwrite from the frontend.
  • When you need to revalidate the cache after an update.

Workflow

  • [ ] Create actions in app/actions/ or directly in the component file.
  • [ ] Use 'use server' at the top of the function or file.
  • [ ] Implement try-catch for error handling.
  • [ ] Call revalidatePath() to refresh the UI.

Code Template (Next.js 15)

'use server'

import { revalidatePath } from 'next/cache';
import { BookingService } from '@/services/bookings';

export async function createBookingAction(formData: FormData) {
    try {
        const tourId = formData.get('tourId') as string;
        // Logic to create booking...
        await BookingService.create({ ... });
        
        revalidatePath('/dashboard/bookings');
        return { success: true };
    } catch (error) {
        return { success: false, error: 'Failed to create booking' };
    }
}

Instructions

  • Security: Always validate user session/permissions inside the Server Action.
  • Data Refresh: Use revalidatePath for the specific route or revalidateTag for broader invalidation.