如何使用App Router在NextJS中创建表单

vhmi4jdf  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(108)

对于creating forms using Pages Router有一个非常明确的官方方法,但在App Router中并非如此。
我的第一个猜测是使用POST Router handler,但文档指出:

注意:以前API Routes可以用于处理表单提交等用例。路由处理程序可能不是这些用例的解决方案。我们将建议在准备就绪时使用突变。

然而,这种突变(又名server actions)是一种alpha特征。那么,我应该忽略建议并继续使用Router Handler吗?还有什么我可能遗漏的模式吗

dxxyhpgq

dxxyhpgq1#

我认为这个警告已经被更改了,现在它说在这种情况下使用路由处理程序是可以的:

**好消息:**和API Routes一样,Route Handlers也可以用于处理表单提交等情况。正在开发一个新的handling forms and mutations抽象,它与React深度集成。

路由处理程序(app/api)基本上相当于API路由(位于pages/api目录中)。你甚至不需要马上迁移或类似的事情,API路由仍然有效,即使你为你的应用的其余部分使用应用路由器。因此,您仍然可以遵循this old guide并保留pages/api/form.js文件,或者如果愿意,将其修改为app/api/route.js
使用路由处理程序和API路由,您可以创建交互式表单,基于JavaScript的验证等,以及即使禁用JS也能工作的原生HTML表单。

相关问题