JavaScriptのimportのpathでディレクトリを指定するとindex.jsを探しに行く
こないだhogehogeディレクトリ内のhogehoge.jsという名前のcomponentを予防としてました 構成はこんな感じ↓
component hogehoge hogehoge.js index.js
このcomponentは他のreact componentからも呼び出されていて、他のcomponentから呼ばれた時は setStateがされてるっぽい (コード上はどこで入れてるかわからないがdeveloper toolで見ると値が入っている)のに 僕が新たに呼び出そうとしたcomponent内ではなぜかstateに初期値が入ってこない現象が起こりました
jsのimportのpathでディレクトリを指定するとindexを探しに行きます
まあタイトルの通りなんですがjsのimportのpathでディレクトリを指定するとindexを探しに行きます
上のディレクトリ構成の場合
import Hogehoge from 'component/hogehoge/hogehoge'
とpathを指定するとhogehoge.jsを見に行きますが
import Hogehoge from 'component/hogehoge'
とするとhogehogeディレクトリ内のindex.jsを探しに行きます
今回のパターンだと
- index.jsの中でsetStateをしていた
- 他のcomponentではpathの指定を'component/hogehoge'
とディレクトリ指定していた
- 僕は 'component/hogehoge/hogehoge'
と使いたいcomponentを直接指定していたせいでindex.jsでの動きが適用されなかった
という感じでした
言われてみると当たり前なんですが結構ハマった