【Next.js】useFormState, useFormStatusが見つからない?

こんにちは、フリーランスエンジニアの太田雅昭です。Next.jsのApp Router機能は、現在GPT先生に聞いても知らぬ存ぜぬで、まいっちんぐまちこ先生です。

useFormState, useFormStatusがない?

今回は、表題の通り特定のライブラリが見つからなかった時のお話です。

それぞれNext.jsの最新機能であるForm Actionを使用する際に使うものなのですが、公式サイトのリファレンスには以下のようにあります。

import { useFormState, useFormStatus } from 'react-dom';

しかしこれが、私の環境で出来なかったんですね。具体的には、この名前ではエクスポートされていませんでした。唯一useFormStatusは別の名前でexportされていたためasでインポートできたのですが、useFormStateはそもそも出てこない。

原因と対処

今回Next.jsは、確か何かパッケージ的なものを使用してインストールしていました。そのため必要なものが揃っていなかったようです。

具体的には、以下のようにしました。

npm install react@latest
npm install @types/react@latest
npm install react-dom@latest
npm install @types/react-dom@latest

上記のように行い、ついでにnextに関しても同様にバージョンアップを行いました。これで、importのエラーは解決です。

ただ、なぜか実行時に useFormStatus is not function と言われるんですよね。。。調査中です。

というお話でした。ではでは。