Server Actions
Server Actions ~10 mins - nextjs

Server Actions

'use server';

export async function createTask(formData: FormData) {
const rawFormData = {
taskName: formData.get('taskName'),
status: formData.get('status'),
};
// Test it out:
console.log(rawFormData);
}
import {createTask} from '@app/lib/actions';
...

<form action={createTask}>

However, in React, the action attribute is considered a special prop - meaning React builds on top of it to allow actions to be invoked.

Behind the scenes, Server Actions create a POST API endpoint. This is why you don't need to create API endpoints manually when using Server Actions.

const rawFormData = Object.fromEntries(formData.entries());

RevalidatePath

import { revalidatePath } from 'next/cache';

revalidatePath('/dashboard/invoices');

Redirect

import { redirect } from 'next/navigation';

redirect('/dashboard/invoices');