对于creating forms using Pages Router有一个非常明确的官方方法,但在App Router
中并非如此。
我的第一个猜测是使用POST Router handler,但文档指出:
注意:以前API Routes可以用于处理表单提交等用例。路由处理程序可能不是这些用例的解决方案。我们将建议在准备就绪时使用突变。
然而,这种突变(又名server actions)是一种alpha特征。那么,我应该忽略建议并继续使用Router Handler
吗?还有什么我可能遗漏的模式吗
1条答案
按热度按时间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表单。