<p dir="auto">I don`t know if it is bug or feature, but since you put into input with type number two minuses it will stop calling <code class="notranslate">onChange</code> callback, but value inside input will change</p>
<p dir="auto"><strong>React 15.4.2</strong><br>
<strong>Browser Version 60.0.3112.90 (Official Build) (64-bit)</strong></p>
<p dir="auto">A controlled number input, without a corresponding <code class="notranslate">setState</code> function, still allows <code class="notranslate">e</code>, <code class="notranslate">-</code> and <code class="notranslate">.</code> to be entered (and numbers can be inputted afterwards). I could be incorrect but I don't believe this is the desired behavior.</p>
<p dir="auto"><a href="https://jsfiddle.net/vervujhm/" rel="nofollow">Here's a JSFiddle</a> demonstrating the issue.</p>