小编典典

反应:检查器不是功能

reactjs

我在React应用程序的控制台中收到此奇怪的警告消息。

警告:propType失败:checker不是函数检查的渲染方法Chart

我根本没有任何检查方法。如果我删除了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"}
];

阅读 244

收藏
2020-07-22

共1个答案

小编典典

拉取请求已合并到React仓库中,每当类似错误再次发生时,它就可以为开发人员提供更好的反馈。

现在,验证消息将如下所示:

提供给oneOf的参数无效,应为数组的实例。

https://github.com/facebook/react/pull/3963

这应该是React 0.14的一部分。

2020-07-22