- App Router(Stable)
- Turbopack(Beta)
- 13で追加されたTurbopackがBeta段階に変更
- 安定化とフィードバックのため、Vercel.com および Next.js を大規模運用している Vercel の顧客を対象にドッグフーディング(dogfooding)を実施
- Server Actions(Alpha)
- React エコシステムではフォームの状態管理について多くの意見がある
- React の公式ドキュメントでは「非制御コンポーネント(uncontrolled components)」を推奨
- Next.js サーバーで form に対するアクション関数を割り当てられる機能を追加(Server Actions)
- サーバーコンポーネントで form の props のうち action を通じて関数を割り当て可能
- この関数は
'use server';を記述することでサーバー関数として動作 - next パッケージを通じてページ遷移、キャッシュなどでサーバー関数を利用可能
3件のコメント
Reactの公式ドキュメントでは、制御コンポーネントは推奨されていないのでしょうか?
制御コンポーネントにするとスクリプトを使う必要があり、
そうするとクライアントコンポーネントとして作らなければならないのですが、その場合は
キャッシュなどの面で不利になります。
今回追加された Server Actions は、コンポーネント内の関数で
'use server'を宣言できるようになり、mutation 時でもサーバーコンポーネントを維持したまま使えるようにしたもののようです。
今回の Next.js はスクリプトの使用を最小限に抑えていて、全体的な戦略などを見れば見るほど
Remix に似ていますね。
サーバーコードとクライアントコードが混ざっているのが
昔の PHP を思い出させます
翻訳が拙くて、不自然な意訳になってしまいました。原文は Server Actions の最初の段落です。
React のエコシステムでは、フォーム、フォームの状態管理、そしてデータのキャッシュと再検証をめぐって、多くのイノベーションやアイデアの探求が行われてきました。時が経つにつれて、React はこれらのパターンの一部について、より明確な立場を取るようになりました。たとえば、フォームの状態には「uncontrolled components」を推奨しています。