我在React应用程序的控制台中收到此奇怪的警告消息。
警告:propType失败:checker不是函数检查的渲染方法Chart。
Chart
我根本没有任何检查方法。如果我删除了propTypes,警告就消失了。有任何想法吗?
propTypes
我的反应成分:
var Chart = React.createClass({ //... propTypes: { legend: React.PropTypes.bool, max: React.PropTypes.number, min: React.PropTypes.number, series: React.PropTypes.arrayOf( React.PropTypes.shape({ label: React.PropTypes.string, values: React.PropTypes.arrayOf( React.PropTypes.arrayOf( React.PropTypes.oneOfType( React.PropTypes.number, React.PropTypes.object // Date ) ) ), colorIndex: React.PropTypes.string }) ).isRequired, threshold: React.PropTypes.number, type: React.PropTypes.oneOf(['line', 'bar', 'area']), units: React.PropTypes.string, xAxis: React.PropTypes.arrayOf(React.PropTypes.string) }, render: function() { return (<svg>...</svg>); } //... });
我发送到Chart组件的有效负载就是这个:
var series = [ {label: 'first', values: [[5,2], [4,3], [3,3], [2,2], [1,1]], colorIndex: "graph-1"}, {label: 'second', values: [[5,3], [4,2], [3,0], [2,0], [1,0]], colorIndex: "graph-2"} ];
拉取请求已合并到React仓库中,每当类似错误再次发生时,它就可以为开发人员提供更好的反馈。
现在,验证消息将如下所示:
提供给oneOf的参数无效,应为数组的实例。
https://github.com/facebook/react/pull/3963
这应该是React 0.14的一部分。