Astroで[ERROR] [NoMatchingRenderer] Unable to renderが出た時の解決法
Astroで下記のようなエラーメッセージが出ました。
解決したので備忘録。
エラーの原因
このエラーは、指定されたコンポーネントに対して適切なレンダラーが見つからないことを示しています。
私の場合は、AstroのStarlightというテーマを使用していて、shadcn/uiのButton
コンポーネントを読み込む際にこのエラーが発生しました。
shadcn/uiはReactコンポーネントで、AstroのStarlightはReactを使っていなかったため、このエラーが発生しました。(完全に入っていると勘違いしてました。。。)
私の場合は上記でしたが、同じように特定コンポーネントを表示するのに必要な何かしらのレンダラーが足りていない可能性が高いです。
解決法
原因がReactコンポーネントのレンダラーが足りていないことがわかったので、以下の手順で解決しました。
pnpm astro add react
npx astro add react
yarn astro add react
これでReactコンポーネントをAstroで使用できるようになり、エラーが解消されました。
React以外でもRenderするためのライブラリが足りない可能性があるので、エラーメッセージを参考に足りないライブラリを追加してみてください。