useActionData

useActionData

返回来自最近路由action的序列化数据,或者如果不存在则返回undefined。此 Hook 仅返回上下文中的路由操作数据 - 它无法访问其他父级或子级路由的数据。

import type { ActionFunctionArgs } from "@remix-run/node"; // or cloudflare/deno
import { json } from "@remix-run/node"; // or cloudflare/deno
import { Form, useActionData } from "@remix-run/react";

export async function action({
  request,
}: ActionFunctionArgs) {
  const body = await request.formData();
  const name = body.get("visitorsName");
  return json({ message: `Hello, ${name}` });
}

export default function Invoices() {
  const data = useActionData<typeof action>();
  return (
    <Form method="post">
      <input type="text" name="visitorsName" />
      {data ? data.message : "Waiting..."}
    </Form>
  );
}

其他资源

指南

相关 API

讨论

文档和示例根据以下许可证授权 MIT