Nuxt.jsで「Uncaught (in promise) TypeError: Cannot redefine property:」

今回はNuxt.jsを使用しているときに下記のようなエラーが起きたときの原因についてお話ししていきます。

Nuxt.jsのバージョンは3.11.2です。



Nuxt.jsで「Uncaught (in promise) TypeError: Cannot redefine property:」

このエラーはnuxtApp.provide('updateStatus’, setStatus)のようなprovideを使った書き方について、$updateStatusプロパティを再定義しようとしていることに起因しております。
Vueのアプリケーション内で同じプロパティ名が複数回provideされると、このエラーが発生する可能性があるようです。

例えば、私の場合はonBeforeUnmountでnuxtApp.provide('updateStatus’, null)のようにイベントリスナーを解除しておりましたが、onUnmountedなどでイベントリスナーを解除すると解決できました。

あとはprovideやunprovideする代わりにPiniaまたはコンポーネントのpropsなどを使ってデータのやり取りを行えば解決しそうです。

終わりに

今回はNuxt.jsを使用しているときに冒頭のようなエラーが起きたときの原因についてお話しいたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Nuxt.js

Posted by ちこ