<Form>
fetch
を介してアクションにデータを提出する、漸進的に強化された HTML <form>
であり、useNavigation
内の保留状態をアクティブにして、基本的な HTML フォームを超えた高度なユーザーインターフェイスを実現します。フォームのアクションが完了すると、ページ上のすべてのデータはサーバーから自動的に再検証され、UI をデータと同期させます。
HTML フォーム API を使用するため、サーバー側でレンダリングされたページは、JavaScript がロードされる前に基本的なレベルでインタラクティブになります。Remix が提出を管理するのではなく、ブラウザが提出と保留状態(スピニングファビコンなど)を管理します。JavaScript がロードされると、Remix が引き継ぎ、Web アプリケーションのユーザーエクスペリエンスを可能にします。
フォームは、URL を変更したり、ブラウザの履歴スタックにエントリを追加したりする必要がある提出に最も役立ちます。ブラウザの履歴スタックを操作しないフォームの場合、<fetcher.Form>
を使用してください。
プロパティ
action
フォームデータを提出する URL。
undefined
の場合、これはコンテキスト内で最も近いルートにデフォルト設定されます。親ルートが <Form>
をレンダリングするが、URL がより深い子ルートに一致する場合、フォームは親ルートに投稿されます。同様に、子ルート内のフォームは子ルートに投稿されます。これは、常に完全な URL を指すネイティブな <form>
とは異なります。