我正在使用服务器操作来处理与表单一起提交的数据,我想将表单清除到操作中。
但操作不接收引用。
我的行动:
// actions/createVm.js
'use server'
export async function createVm(FormData) {
const vm = await prisma.vm.create({
data: {
name: FormData.get("DisplayName"),
ip: FormData.get("IpAddress"),
group: {
connect: { name: FormData.get("group") }
}
}
})
ref.current?.reset()
}
字符串
和形式:
// app/createVm/page.jsx
'use client'
import ButtonForm from "./button"
import { useRef } from "react"
import { createVm } from "@/actions/createVm"
export default function Form({ children }) {
const ref = useRef(null)
return(
<div className="mt-10 sm:mx-auto sm:w-full sm:max-w-sm">
<form className="space-y-6" action={createVm} ref={ref}>
{ children }
<ButtonForm />
</form>
</div>
)
}
型
我如何使用引用?
2条答案
按热度按时间ccgok5k51#
useRef
是一个客户端概念。它简单地表示“引用DOM元素”。您不能将DOM元素传递给服务器(服务器上没有DOM)。如何清除数据?
通过使用客户端操作:
个字符
j8ag8udp2#
如果您使用的是服务器操作,则可以使用
useFormState
访问表单状态字符串