Javascript propTypes是react中要求的约束错误引导行为
我对反应(或者说网络技术)非常陌生。我开始构建一个使用不同组件的应用程序。在阅读文档时,我认为将Javascript propTypes是react中要求的约束错误引导行为,javascript,reactjs,Javascript,Reactjs,我对反应(或者说网络技术)非常陌生。我开始构建一个使用不同组件的应用程序。在阅读文档时,我认为将isRequired放在propTypes中会限制用户在使用组件时提供所有isRequired属性 var PanelPreview = React.createClass({ getInitialState: function(){ return { captionIndex: 0 }; }, propTypes: { beforeSrc: Rea
isRequired
放在propTypes中会限制用户在使用组件时提供所有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;
但是,在本例中,即使我没有传递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;
使用此组件的应用程序:
React.render(
< PanelPreview />,
document.getElementById('main')
);
React.render(
,
document.getElementById('main')
);
我想约束组件的用户提供这两个值,否则会引发某种错误 道具验证失败目前不被视为严重错误。但是,控制台中将记录警告:
Warning: Required prop `beforeSrc` was not specified in `PanelPreview`.
这只发生在react的非生产构建中。在生产中,未记录任何内容。看这把小提琴的例子
有人讨论过如何对道具验证失败快速做出反应(见下面的问题),这似乎最终会发生,但我认为这还没有出现在任何路线图上