SSR 環境において npm パッケージを組み込んだ際に「Invalid hook call.」が発生した場合の対処法
2021-03-27
以前 React に依存した npm パッケージをリリースしたのですが。
Next.js 環境でインストールして実装を行いローカルサーバーを立ち上げてみると、以下のエラーが表示されました。
Invalid hook call. Hooks can only be called inside of the body of a function component.
npm パッケージのサンプルサイトではエラーが発生しなかったので、SSR 周りで発生しているみたいです。
で、色々と調べてみたのですが。
今回のケースではプロジェクト側で React のインストールを行っているにも関わらず、パッケージ側でも別の React をインストールしていたため、React がダブっているのがダメだったようです。
そのため npm パッケージ側の react と react-dom を dependencies から devDependencies に移行したところエラーが解消しました。