title: React onChange is swallowing my decimal when using parseFloat
body: <p>I have a simple onChange which takes  the user's input pareses it and sets the state to render. Here is the code. </p>
  
  <pre><code>import React, { Component } from 'react';
  import './App.css';
  
  class App extends Component {
    constructor() {
      super();
      this.state = {
        random: {
          foo: 0
        }
      }
    }
  
    onChange(e) {
      let random = this.state.random;
      random[e.target.name] = parseFloat(e.target.value);
      this.setState({random});
    }
  
    render() {
      return (
        &lt;div className="App"&gt;
          &lt;input onChange={this.onChange.bind(this)} type="text" name="foo" value={this.state.random.foo} /&gt;
        &lt;/div&gt;
      );
    }
  }
  
  export default App;
  </code></pre>
  
  <p>What I don't understand is where my decimal is going. I know there is no validation in place to stop the user from entering letters, but this is just a sample app to test this issue I ran into. When I enter a decimal point in does not get rendered. Where am I going wrong? </p>