React Base Fiddle (JSX)

Starting point for creating JSFiddles with React. This uses React with Addons.

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react@latest/dist/react-with-addons.js"></script>
<script src="https://npmcdn.com/react-dom@latest/dist/react-dom.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

// remove everything but digits
function format(v) {
  return v.replace(/[^(0-9)]/g, '')
}


// A stateless input that doesnt accept numbers
var PositiveIntegers = function(props) {
  return (
    <input
      type="number"
      value={format(props.value)}
      onChange={e => props.onChange(format(e.target.value))}
    />
  )
}

// A stateful controller
var Controller = React.createClass({
	getInitialState: function() {
    return {
      value: ''
    }
  },
  onChange: function(value) {
    console.log(value)
    this.setState({
      value: value,
    })
  },
  render: function() {
    return (
      <PositiveIntegers
        value={this.state.value}
        onChange={this.onChange}
      />
    )
  }
});


ReactDOM.render(
  <Controller />,
  document.getElementById('container')
);