が反応成分の次の入力要素検討:反応させコンポーネントのテスト中なぜReactイベントハンドラがdispatchEventで呼び出されないのですか?
<input onChange={() => console.log('onChange')} ... />
を、Iは、入力値を変更するユーザをエミュレートしている:
input.value = newValue;
TestUtils.Simulate.change(input);
このとして、ログインする'onChange'
を引き起こします期待される。 'change'
イベントを直接送出されたときに
しかし、(私はjsdomを使用しています):
input.value = newValue;
input.dispatchEvent(new Event('change'));
onChange
ハンドラが呼び出されません。
なぜですか?
TestUtils.Simulate
ではなくdispatchEvent
を使用する私の動機は、TestUtils.Simulate
がイベントのバブリングをサポートしておらず、コンポーネントの動作がそれに依存しているためです。私はTestUtils.Simulate
なしでイベントをテストする方法があるのだろうか?
をおかげで、これは働いていました私のために! – belek
あなたは私の救い主です! – shlensky