Sé que esta respuesta llega un poco tarde, pero recientemente enfrenté un problema similar. Quería activar un evento en un componente anidado. Tenía una lista con widgets de radio y casillas de verificación (eran divs que se comportaban como casillas de verificación y / o botones de radio) y en algún otro lugar de la aplicación, si alguien cerraba una caja de herramientas, necesitaba desmarcar una.
Encontré una solución bastante simple, no estoy seguro de si esta es la mejor práctica, pero funciona.
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
var node = document.getElementById('nodeMyComponentsEventIsConnectedTo');
node.dispatchEvent(event);
Esto desencadenó el evento de clic en el domNode y mi controlador adjunto a través de react fue llamado de hecho, por lo que se comporta como esperaría si alguien hiciera clic en el elemento. No he probado onChange pero debería funcionar, y no estoy seguro de cómo funcionará en versiones realmente antiguas de IE, pero creo que MouseEvent es compatible con al menos IE9 y versiones posteriores.
Eventualmente me alejé de esto para mi caso de uso particular porque mi componente era muy pequeño (solo una parte de mi aplicación usaba react ya que todavía lo estoy aprendiendo) y pude lograr lo mismo de otra manera sin obtener referencias a los nodos dom.
ACTUALIZAR:
Como otros han declarado en los comentarios, es mejor usarlo this.refs.refname
para obtener una referencia a un nodo dom. En este caso, refname es la referencia que adjuntó a su componente a través de <MyComponent ref='refname' />
.