Я знаю, що ця відповідь приходить трохи пізно, але я нещодавно зіткнувся з подібною проблемою. Я хотів викликати подію на вкладеному компоненті. У мене був список із віджетами типу радіо та прапорців (це були диви, які поводилися як прапорці та / або кнопки радіо) та в іншому місці програми, якщо хтось закрив панель інструментів, мені потрібно було зняти його.
Я знайшов досить просте рішення, не впевнений, чи це найкраща практика, але це працює.
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
var node = document.getElementById('nodeMyComponentsEventIsConnectedTo');
node.dispatchEvent(event);
Це викликало подію натискання на domNode, і мій обробник, приєднаний через react, справді викликався, тому він поводиться так, як я б очікував, якщо хтось натисне на елемент. Я не перевіряв onChange, але він повинен працювати, і не впевнений, як це відбудеться в справді старих версіях IE, але я вважаю, що MouseEvent підтримується принаймні IE9 і вище.
Я врешті-решт відмовився від цього для мого конкретного випадку використання, оскільки мій компонент був дуже малим (лише частина моєї програми, що використовується, реагує, оскільки я все ще це вчу), і я могла досягти того ж іншого способу, не отримуючи посилань на вузли дому.
ОНОВЛЕННЯ:
Як зазначали інші в коментарях, краще використовувати this.refs.refname
для отримання посилання на вузол купола. У цьому випадку refname - це посилання, яке ви додали до свого компонента через <MyComponent ref='refname' />
.