Ich habe eine kleine Bibliothek mit wenigen Klassen. In einer der Klassen verwende ich Methoden aus anderen Klassen, also instanziiere ich sie und verwende sie im Code.TypeError: _this2.function ist keine Funktion
Einige der Klassen, die ich Referenzmethode mit dem this
Schlüsselwort verwenden.
Beispiel:
// 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'
}
}
ich dies nur in Tests bin mit dem Import:
// test.js
const c3 = require('library.js').Class3
// test stuff calling:
c3.funcNotWorking()
ich dies mit webpack und babel loader bin kompilieren. Diese Konfiguration scheint zu funktionieren, wie es kompiliert und alles andere funktioniert, aber das ...
Ich habe gelesen, dass die Leute Probleme mit React haben, aber das ist nur Es6. Könnte mir jemand zeigen, wie ich das lösen kann?
Standard Class2 in der Datei class3.js exportieren, sind Sie sicher, dass dies das ist, was Sie wollen? –
@ ŁukaszKapica Sie haben Recht. Tippfehler, aber das ist ein Beispiel, um das Problem zu erklären – Samuel
Warum haben Sie nicht eine neue Instanz einer Class3 erstellt, genau wie bei Class1 und Class2? –