私は単純なReactライブラリで作業していますが、複数のオブジェクトが不必要に作成されているかどうかはわかりません。私が使用して(私は図書館を利用して)私のリアクトプロジェクトのindex.js
で複数のオブジェクトが作成されていますか?
import app from './app.js';
...
export default app;
:
class App {
method1() {
}
method2() {
}
}
export default new App();
は私もindex.js
ファイルを持っている:
app.js
ファイルを持っています:
import MyLibrary from 'react-library';
...
MyLibrary.method1();
そして、私はいくつかの私のcomあまりにもponents:
import MyLibrary from 'react-library';
...
MyLibrary.method2();
最初MyLibrary
に異なるオブジェクトMyLibrary
の第二の輸入ですか?
私の理解では、はい。ポイントは、すべてのモジュールは独自のスコープを持つ必要があります。したがって、ファイル内のモジュールのインポートは、そのスコープ内でのみアクセス可能でなければなりません。だから、彼らは別のオブジェクトです。 – Rajesh
これをテストしようとしましたが、結果は同じオブジェクトを示唆していますか?私は 'method1'のダミープロパティに値を渡します。 2回目のインポート後に 'MyLibrary'をログすると、そのプロパティが存在します。 – tommyd456
それは '新しいApp()'のためです。モジュールがインスタンスをエクスポートしています。インポートするたびに、参照をインポートしています。更新すると、そのメモリ位置のオブジェクトが更新されます。クラスを返し、すべてのファイルにオブジェクトを作成しようとします。 – Rajesh