Ich weiß, dass diese Antwort etwas spät kommt, aber ich hatte kürzlich ein ähnliches Problem. Ich wollte ein Ereignis für eine verschachtelte Komponente auslösen. Ich hatte eine Liste mit Widgets vom Typ Radio und Kontrollkästchen (es handelte sich um Divs, die sich wie Kontrollkästchen und / oder Optionsfelder verhielten), und an einer anderen Stelle in der Anwendung musste ich eines deaktivieren, wenn jemand eine Toolbox schloss.
Ich habe eine ziemlich einfache Lösung gefunden, nicht sicher, ob dies die beste Vorgehensweise ist, aber sie funktioniert.
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
var node = document.getElementById('nodeMyComponentsEventIsConnectedTo');
node.dispatchEvent(event);
Dies löste das Klickereignis auf dem domNode aus und mein über reag angehängter Handler wurde tatsächlich aufgerufen, sodass er sich so verhält, wie ich es erwarten würde, wenn jemand auf das Element klickt. Ich habe onChange noch nicht getestet, aber es sollte funktionieren, und ich bin mir nicht sicher, wie dies in wirklich alten IE-Versionen funktionieren wird, aber ich glaube, dass das MouseEvent in mindestens IE9 und höher unterstützt wird.
Ich habe mich schließlich für meinen speziellen Anwendungsfall davon entfernt, weil meine Komponente sehr klein war (nur ein Teil meiner verwendeten Anwendung reagiert, da ich sie noch lerne) und ich das Gleiche auf andere Weise erreichen konnte, ohne Verweise auf Dom-Knoten zu erhalten.
AKTUALISIEREN:
Wie andere in den Kommentaren angegeben haben, ist es besser this.refs.refname, einen Verweis auf einen Dom-Knoten zu erhalten. In diesem Fall ist refname die ref, über die Sie Ihre Komponente angehängt haben <MyComponent ref='refname' />.