0
私は少数のクラスを持つ小さなライブラリを持っています。クラスの1つでは、私は他のクラスのメソッドを使用しているので、それらをインスタンス化してコード内で使用します。TypeError:_this2.functionは関数ではありません
一部のクラスでは、this
キーワードの参照方法を使用しています。
例:
// index.js
import Class1 from './class1'
import Class2 from './class2'
import Class3 from './class3'
export {
Class1,
Class2,
Class3
}
// class1.js
export default Class1 {
func1() {
return 'something';
}
func2() {
return this.func1() + 'else';
}
}
// class2.js
export default Class2 {
func1() {
return 'something';
}
func2() {
return this.func1() + 'else again';
}
}
// class3.js
import {Class1, Class2} from './index';
const c1 = new Class1();
const c2 = new Class2();
export default Class3 {
funcNotWorking(){
return c1.func2() + c2.func3() + 'this does not work'
}
}
私はちょうどそれをインポートすることにより、テストでこれを使用しています:私はWebPACKのとバベルローダーでこれをコンパイルしています
// test.js
const c3 = require('library.js').Class3
// test stuff calling:
c3.funcNotWorking()
。この設定はコンパイルされ、それ以外はすべて動作するようですが、これは...
私は、人々がReactでこれに問題があるように見えますが、これはちょうどEs6です。誰かがこれを解決する方法を教えてくれますか?
class3.jsファイルのデフォルトのClass2をエクスポートします。これはあなたが望むものですか? –
@ŁukaszKapicaあなたは正しいです。 Typoですが、これは問題を説明するための例です – Samuel
なぜClass1とClass2で行ったのと同じように、Class3の新しいインスタンスを作成しませんでしたか? –