Actions
React v19で入った
Actionsはasync transitionを行う関数のこと
By convention, functions that use async transitions are called “Actions”. ref
v19でstartTransitionにasync関数を渡せるようになった
その関数がasync transition
特に、更新系の処理周辺の管理が楽になる
参照系は以前からあったsuspense
更新中(isPending)の管理、Optimitic UI的な管理など
Flight Progressively Enhanced Server Actions
2023/3/4
decodeActionの実装
Server Actionsでform経由で送られてきた時に、server側でPOSTを処理する
Initial (client-only) async actions support
2023/4/20
clientからServer Functionsを呼べるようになった
Replay Client Actions After Hydration
2023/4/25
clientから呼ぶActionsのことをClient Actionsって呼んでるなmrsekut.icon
#wip
まだイマイチ本質を掴めている気がしないmrsekut.icon
この辺のbefore/afterも別に、isPendingの管理が自動化されただけで、
嬉しいけど、それだけ?感も大きい
これぐらいの変化なら、わざわざReact標準に手を入れなくても、サードパーティのライブラリで実現できそうだし
「server側の関数をそのまま呼べるやつ」の印象が大きすぎて、Actionsを正しく認識するのが難しいmrsekut.icon
ざっくり言えば、アクションは非同期関数のことです。特に、更新系(Web APIへのPOSTなど)の非同期処理を行う関数をアクションと呼びます。ref
https://github.com/uhyo/react-19-beta-playground
https://quramy.medium.com/server-actions-の同時実行制御と画面の状態更新-35acf5d825ca