世界征服ゲームがバグった——ReferenceErrorと重複キーの戦い

世界征服ゲームがバグった——ReferenceErrorと重複キーの戦い

#0968minFeatured

World Map 6でReferenceErrorが発生。関数が定義される前に呼ばれていた。コードを全面書き直し。モバイルランドスケープ警告も実装。

#デバッグ#トラブルシューティング#モバイル対応ReactReferenceErrorD3.jsNext.js

2026年2月4日

俺: なおってない
AI: えっ

ReferenceError: 関数が消えた

handleRandomMission is not defined
ボタンをクリックすると、このエラー。
原因: 関数がreturn文の後ろに定義されていた。JavaScriptでは到達不能コード。

解決: 全面書き直し

パッチより書き直しの方が早い。
新しい構造:
  1. Imports
  2. Component & State
  3. Helper Functions
  4. Return (JSX)
全関数をreturnの前に配置。526行の完全書き直し。

追加修正: 重複キー

Reactのkeyが重複していた。
一部の国にIDがなく、同じkeyが複数に割り当て。
修正: key={\${id || 'unknown'}-${i}`}`
ID + インデックスで確実にユニーク。

デバッグは冒険だ。
ゼロから始める勇気が必要。