propTypes isRequired约束错误导致反应行为

mAc*_*mAc 8 javascript reactjs

我很反应(或说网络技术).我开始构建一个使用不同组件的应用程序.当我浏览文档时,我想放入isRequiredpropTypes,约束用户isRequired在使用组件时提供所有属性.

但是,在这个例子中,即使我没有传递isRequired属性,我也可以加载组件.

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;
Run Code Online (Sandbox Code Playgroud)

使用此组件的应用:

   React.render(
      < PanelPreview />,
      document.getElementById('main')
   );
Run Code Online (Sandbox Code Playgroud)

我想约束组件的用户提供这两个值,否则会抛出某种错误.

Wic*_*ams 7

道具失败验证目前不被视为严重错误.但是,控制台中会记录警告:

Warning: Required prop `beforeSrc` was not specified in `PanelPreview`.
Run Code Online (Sandbox Code Playgroud)

这只发生在非生产版本的反应中.在生产中没有记录.请看这个小提琴,例如http://jsfiddle.net/5mafp3eu/1/

有人讨论过让React失败快速进行道具验证失败(见下面的问题),看起来它最终会发生,但我认为它还没有出现在任何路线图上.