跳到主要内容

nextJS 的 server action 整体理解

  • 用来提交和更改数据。
  • 虽然 fetch 也可以提交数据,但是 nextJS 环境,通常使用 server action 来更改新增删除数据。
  • 需要使用 use server 指令来注明只用于服务端。
  • 可以在异步函数的前一行。也可以在整个文件的最上面,这种情况会导致所有的导出函数都变成是 server action。
  • 在服务端组件中,也可以把 use server 指令放在函数体开始的部分,也可以通过将 server action 所在组件作为属性传入客户端组件。
  • 如果在客户端组件中使用,需要把 use server 指令放在对应服务端组件最开始的一行,然后在服务端组件引用。
  • 提交之后通常通过 revalidatePath 或者 revalidateTag 来清理缓存