useFormStatus
useFormStatus は、直近のフォーム送信に関するステータス情報を提供するフックです。
const { pending, data, method, action } = useFormStatus();リファレンス
useFormStatus()
useFormStatus フックは、直近のフォーム送信に関するステータス情報を提供します。
import { useFormStatus } from "react-dom";
import action from './actions';
function Submit() {
const status = useFormStatus();
return <button disabled={status.pending}>Submit</button>
}
export default function App() {
return (
<form action={action}>
<Submit />
</form>
);
}ステータス情報を取得するには、この Submit コンポーネントが <form> 内でレンダーされている必要があります。このフックは、フォームが送信中かどうかを示す pending プロパティなどの情報を返します。
上記の例では、Submit がこの情報を使用して、フォームが送信中の間 <button> を無効にして押せなくしています。
引数
useFormStatus は引数を受け取りません。
返り値
以下のプロパティを持つ status オブジェクト。
-
pending: ブーリアン。trueの場合、親<form>で送信が進行中であることを意味します。それ以外の場合はfalseとなります。 -
data:FormDataインターフェースを実装したオブジェクト。親<form>が送信中のデータを含んでいます。送信がアクティブでない場合や親<form>がない場合はnullになります。 -
method:'get'または'post'のいずれかの文字列。親