コンテンツにスキップ

Astroで[ERROR] [NoMatchingRenderer] Unable to renderが出た時の解決法

Astroで下記のようなエラーメッセージが出ました。

解決したので備忘録。

エラーの原因

このエラーは、指定されたコンポーネントに対して適切なレンダラーが見つからないことを示しています。

私の場合は、AstroのStarlightというテーマを使用していて、shadcn/uiのButtonコンポーネントを読み込む際にこのエラーが発生しました。

shadcn/uiはReactコンポーネントで、AstroのStarlightはReactを使っていなかったため、このエラーが発生しました。(完全に入っていると勘違いしてました。。。)

私の場合は上記でしたが、同じように特定コンポーネントを表示するのに必要な何かしらのレンダラーが足りていない可能性が高いです。

解決法

原因がReactコンポーネントのレンダラーが足りていないことがわかったので、以下の手順で解決しました。

Terminal window
pnpm astro add react

これでReactコンポーネントをAstroで使用できるようになり、エラーが解消されました。

React以外でもRenderするためのライブラリが足りない可能性があるので、エラーメッセージを参考に足りないライブラリを追加してみてください。