Description
I have a simple search bar (controlled text input) with autocomplete.
When I type text very quickly, I do get onKeyDown events, but every now and then, the corresponding onChange event goes missing. For example, if I type "foobar", the input field may end up showing "foobr".
This happens only on IE (tested with IE11 on Windows 7), and I have not seen this on any other browser.
Here's a fiddle showing the issue: https://jsfiddle.net/zjfbow3w/3/ and a log:
keyDown: f
keyDown: o
change: f
render: f
change: fo
render: fo
render: fo
keyDown: o
keyDown: b
change: foo
render: foo
change: foob
render: foob
keyDown: a
render: foob
keyDown: r
change: foobr
render: foobr
render: foobr
Note that onKeyDown handler sees that "a", but not the onChange handler.
The fiddle includes a timer (which in real code triggers an AJAX call), which is somehow important for this issue -- if I remove the timer, I cannot reproduce this issue any more.
The React version in the fiddle is 15.1.0 (but this happens on 0.14.3, too).