title: propTypes isRequired constraint mis-leading behaviour in react
body: <p>I'm very new to react( or to say web technologies). I started building an app which uses different components. When I went through the documentation, I thought putting <code>isRequired</code> in propTypes, constrains the user to provide all <code>isRequired</code> attributes when using the component.</p>
  
  <p>But, in this example even if I don't pass <code>isRequired</code> attributes I'm able to load the component.</p>
  
  <pre><code>var PanelPreview = React.createClass({
      getInitialState: function(){
         return { captionIndex: 0 };
      },
      propTypes: {
         beforeSrc: React.PropTypes.string.isRequired,
         afterSrc: React.PropTypes.string.isRequired,
         captionTable: React.PropTypes.array
      },
  });
  module.exports = PanelPreview;
  </code></pre>
  
  <p>app using this component:</p>
  
  <pre><code>   React.render(
        &lt; PanelPreview /&gt;,
        document.getElementById('main')
     );
  </code></pre>
  
  <p>I want to constrain the user of the component to provide these two values else throw some sort of error.  </p>