2024年12月5日、オープンソースのフロントエンドJavaScriptライブラリReactの最新バージョンReact 19の安定版がリリースされた。React 19はnpmで利用可能となっている,
React 19のおもな新機能は以下の通り。
- Actions
- これまでReactアプリの通常のユースケースでは、データの変更を実行し、それに応じて状態を更新していた。たとえば、ユーザーが名前を変更するためにフォームを送信すると、APIリクエストを送信しそのレスポンスが処理される。この場合、保留状態、エラー、optimistic updates
(楽観的更新)、および順次リクエストを手動で処理する必要があった。 - React 19では、遷移の際に
「Actions」 と呼ばれる非同期関数を使用して、保留状態、エラー、フォームなどを自動で処理するためのサポートが追加された。非同期遷移はすぐにisPendingステータスをtrueに設定し、非同期リクエストを作成、遷移後にisPendingをfalseに切り替える。これによりデータが変更されている間も、UIの応答性と対話性を維持できるという。 - useActionState
- Actionsの変更にともなって追加された新しいAPIフック。ラップされたアクションが呼び出されると、useActionStateはアクションの最後の結果をデータとして返し、アクションの保留状態を保留として返す。
- <form> Actions
- Actionsは<form>とも統合された。<form>、<input>、<button>要素のactionおよびformActionプロパティとして関数を渡すことで、Actionsを使用してフォームを自動的に送信することができる。
- useFormStatus
- <form>と併用される新しいフック。最後のフォーム送信のステータス情報を提供する。フォームがアクティブに送信中かどうかを示すpendingプロパティなどの情報を返す。
- useOptimistic
- 非同期リクエストの実行中に最終状態をoptimisticに表示することができるフック。
- use
- renderでリソースを読み取るための新しいAPI。 promiseをuseを使用して読み取る。promiseが解決されるまでReactはSuspendする。
その他の新機能や改良点はReeact Teamのブログを参照。また、React 19の導入やアップグレードについてはReact 19 Upgrade Guideを参照。