我很反应(或说网络技术)。我开始构建一个使用不同组件的应用程序。当我浏览文档时,我想将isRequired
放在propTypes中,限制用户在使用组件时提供所有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;
app使用此组件:
React.render(
< PanelPreview />,
document.getElementById('main')
);
我想约束组件的用户提供这两个值,否则会抛出某种错误。
答案 0 :(得分:7)
道具失败验证目前不被视为严重错误。但是,控制台中会记录警告:
Warning: Required prop `beforeSrc` was not specified in `PanelPreview`.
这只发生在非生产版本的反应中。在生产中没有记录。请参阅此小提琴,了解示例http://jsfiddle.net/5mafp3eu/1/
有人讨论过让React失败快速进行道具验证失败(见下面的问题),看起来它最终会发生,但我认为它还没有出现在任何路线图上。