正解: formのactionにサーバー側の関数を渡し、その関数内でFormDataを受け取るServer Actionsを使うと、フォーム送信をサーバー側の関数に直接結びつけられます。action関数ではFormDataを受け取り、バリデーションやDB保存をサーバー上で実行できるため、単純なフォーム処理をRoute Handlerなしで書けます。補足: 公開APIとして再利用したい処理はRoute Handler、画面に密接したフォーム更新はServer Actions、というように使い分けると整理しやすいです。A. formのactionにサーバー側の関数を渡し、その関数内でFormDataを受け取る: これが正解です。B. formのonSubmitで必ずfetchを呼び、Route Handlerを経由する: それも可能ですが、Server Actionsを使う場合は必須ではありません。C. middleware.tsでPOST本文を読み取り、DBへ保存する: Middlewareはフォーム保存処理の実装場所として不適切です。D. generateMetadataでFormDataを受け取り、DBへ保存する: Metadata生成はフォーム処理を行う場所ではありません。
教科書へ直接移動
読みたい分野を選べます