我有以下无状态功能组件:
function numberOfReadsControls(props) {
return (
<div>
<ControlLabel>Start Date</ControlLabel>
<DateField
dateFormat="YYYY-MM-DD HH:mm"
defaultValue={props.reportParams.startDate}
updateOnDateClick={true}
onChange={props.startCalOnChange}/>
<br/><br/>
{/* more selectors here, removed for brevity*/}
</div>
);
}
numberOfReadsControls.propTypes = {
startCalOnChange: React.PropTypes.func.isRequired,
//more props removed for brevity
testMissingProp: React.PropTypes.string.isRequired
};
module.exports = {
numberOfReadsControls
}
我在渲染函数中使用这个函数:
controls = reportControls.numberOfReadsControls(
$.extend({
//props removed for brevity
startCalOnChange: this.startCalOnChange,
}, this.state)
);
然后在我的渲染函数的返回中:
...
return (
<div>
{controls}
</div>
)
然而,我从来没有得到关于失踪道具&#34; testMissingProp&#34;的控制台警告。
我做错了什么?
tldr:我有一个带有必需道具的无状态功能组件,但是如果缺少一个道具,我就不会得到任何记录声明,说明预期缺少道具