Next.js App Router 数据获取与 Server Actions 实战页面数据获取// app/page.tsx

export const revalidate = 60;

async function getData() {

const res = await fetch('https://api.example.com/items', { next: { revalidate: 60 } });

return res.json();

}

export default async function Page() {

const data = await getData();

return <pre>{JSON.stringify(data, null, 2)}</pre>;

}

Server Actions 表单// app/actions.ts

'use server';

export async function submit(formData: FormData) {

const name = String(formData.get('name') || '');

// 处理与写入逻辑

}

// app/page.tsx

import { submit } from './actions';

export default function Form() {

return (

<form action={submit}>

<input name="name" />

<button type="submit">提交</button>

</form>

);

}

缓存策略使用 `revalidate` 进行 ISR;对实时接口使用 `cache: 'no-store'`总结结合 App Router 的数据获取与 Server Actions,可实现端到端的渲染与交互逻辑,兼顾性能与开发效率。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部