提问人:OlusanyaAyomide 提问时间:11/2/2023 最后编辑:OlusanyaAyomide 更新时间:11/2/2023 访问量:80
具有服务器操作的回调函数
callback functions with server actions
问:
我刚刚熟悉 next14 应用程序路由器中的服务器操作,服务器操作通常用于向服务器发出发布请求......有没有办法服务器操作可以在客户端上触发函数,这个想法是有类似于 react query onSucess 和 onError 的东西,这些函数可以根据对 api 响应的状态触发,让我们假设用户使用服务器操作和已经存在的电子邮件发出注册请求, 在我的应用程序功能中,我需要触发 toast 通知,让用户知道电子邮件已经在使用中,任何知道如何实现这一点。
这是nextjs文档中的一个片段,我们如何使用useFormState从服务器操作中获取返回值,这可以通过useEffect重新设计以触发客户端上的函数,但我真的不想要useEffect解决方案。
导出函数 AddForm() { const [状态, formAction] = useFormState(createTodo, initialState) 返回 ( 输入任务 {状态?.留言内容}
) }我可以确认useFormstatus与useEffect有效,但我希望有更好的优化解决方案
答:
0赞
kavish-p
11/2/2023
#1
我不确定这是否是一个更优化的解决方案,但它是不同的。您可以使用 useTransition。在此示例中,是服务器操作。在函数中,可以设置状态或分析以触发 Toast 等。signUp
handleSignup
result
import { useTransition } from "react";
const [isPending, startTransition] = useTransition();
const handleSignup = form.handleSubmit(async (data) => {
startTransition(async () => {
const result = await signUp(data);
});
});
return (
<Form {...form}>
<form onSubmit={handleCreateProspect}>
...
评论