首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >function : checker不是一个函数

function : checker不是一个函数
EN

Stack Overflow用户
提问于 2015-05-01 21:30:42
回答 12查看 33.5K关注 0票数 85

我收到了这个奇怪的警告信息在控制台为我的反应应用程序。

警告:失败的propType: checker不是一个函数,检查Chart的呈现方法。

我根本没有任何检查方法。如果我删除了我的propTypes,警告就消失了。有什么想法吗?

我的反应成分:

代码语言:javascript
复制
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>);
  }
  //...
});

我发送给图表组件的有效载荷是:

代码语言:javascript
复制
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"}
];
EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2015-05-27 01:39:07

一个拉请求已经合并到React,当再次发生类似错误时,它为开发人员提供了更好的反馈。

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

向oneOf提供的无效参数,期望数组的实例。

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

这应该是反应0.14的一部分。

票数 23
EN

Stack Overflow用户

发布于 2017-03-10 13:05:32

在我的例子中,当我用一个复杂的对象使用shape函数时,我得到了这个结果。解决办法是:

代码语言:javascript
复制
outerObject: shape({
  firstInnerObject: {
    a: string,
    b: string,
  },
  secondInnerObject: {
    a: string,
    b: number,
  },
}),

至:

代码语言:javascript
复制
outerObject: shape({
  firstInnerObejct: shape({
    a: string,
    b: string,
  }),
  secondInnerObject: shape({
    a: string,
    b: number,
  }),
}),

非常琐碎,我知道,但这可能是一个同样没有经验的人,因为我是解决办法。;)

票数 126
EN

Stack Overflow用户

发布于 2015-05-02 02:42:30

变化

代码语言:javascript
复制
React.PropTypes.oneOfType(React.PropTypes.number, React.PropTypes.object)

代码语言:javascript
复制
React.PropTypes.oneOfType([React.PropTypes.number, React.PropTypes.object])

(参数应该是数组)

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29995444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档