Почему обработчик событий React не вызывается на dispatchEvent?

Рассмотрим следующий элемент ввода в компоненте React:

<input onChange={() => console.log('onChange')} ... />

При тестировании компонента React я эмулирую изменение пользователем входного значения:

input.value = newValue;
TestUtils.Simulate.change(input);

Это вызывает'onChange' быть зарегистрирован, как и ожидалось.

Тем не менее, когда'change' событие отправляется напрямую (я использую jsdom):

input.value = newValue;
input.dispatchEvent(new Event('change'));

onChange обработчик не вызывается.

Зачем?

Моя мотивация для использованияdispatchEvent скорее, чемTestUtils.Simulate это потому чтоTestUtils.Simulate не поддерживает всплытие событий, и поведение моего компонента зависит от этого. Интересно, есть ли способ проверить события безTestUtils.Simulate?

Ответы на вопрос(2)

Ваш ответ на вопрос