関数ではないものを呼び出した
TypeError: data.map is not a function
ひとことで言うと
「`〇〇()` のように動かそうとしたけれど、それは動かせるもの(関数)ではありません」という意味です。
よくある原因
- 配列(リスト)だと思っていたものが、オブジェクトや文字だった
- 部品の読み込み方(import の書き方)が違う
- 名前の打ち間違い
自分で確かめること
- そのデータを
console.logで表示して、配列([ ] で囲まれている)か見る - import の書き方(
{ }があるかないか)が、部品の説明と同じか見る
たいていは、こうすると直ります
データの形に合わせて書き直します(例:data.items.map にする)。import なら { } の有無を直します。
AIへの伝え方
下の文をコピーして、ChatGPT・Claude・Cursor などに貼り付けてください。トップで貼り付けたエラー文があれば、自動でそれに入れかわります。
次のエラーが出て困っています。プログラミング初心者にもわかるように、原因と直し方を教えてください。必要なら、直したコードも全部見せてください。 【エラー】 TypeError: data.map is not a function 【やったこと】 (ここに、エラーが出る前にしたことを書く。例:npm run dev を実行した) 【参考】 このエラーは「関数ではないものを呼び出した」というもので、よくある原因は次のとおりです。 ・配列(リスト)だと思っていたものが、オブジェクトや文字だった ・部品の読み込み方(import の書き方)が違う ・名前の打ち間違い どれに当てはまるかを確かめる方法も教えてください。