Ausserdem frage ich mich was diese Zeilen sollen:
this.addNode = this.addNode.bind(this);
Die Methode addNode ist doch bereits an this gebunden, was soll hier passieren?Function.prototype.bind wrappt ein Funktionsobjekt und sorgt dafür, dass sie immer im Kontext des angegebenen Objektes ausgeführt wird. Das ist nicht standardmäßig der Fall,
Hier aber schon. Er verwendet prototype und erzeugt eine Class-Objekt mit dieser Methode. Dieser Aufruf im Konstruktor ist unnötig und macht den Code noch verwirrender als er schon ist.
Struppi.