首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React linter airbnb属性数组

React linter airbnb属性数组
EN

Stack Overflow用户
提问于 2017-01-21 03:44:02
回答 6查看 28.9K关注 0票数 34

我有以下PropTypes

代码语言:javascript
复制
SmartTable.propTypes = {
  name: React.PropTypes.string.isRequired,
  cols: React.PropTypes.array.isRequired,
  rows: React.PropTypes.array.isRequired,
};

但是林特说我:

Prop type "array" is forbidden,我怎样才能改变它呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-01-21 03:49:25

这是一个可能的解决方案(但我认为这不是明智之举):

代码语言:javascript
复制
SmartTable.propTypes = {
  name: React.PropTypes.string.isRequired,
  cols: React.PropTypes.arrayOf(React.PropTypes.string),
  rows: React.PropTypes.arrayOf(React.PropTypes.string),
};
票数 66
EN

Stack Overflow用户

发布于 2018-08-08 21:05:24

其中一个对我有效的解决方案是:

如果需要数组:

代码语言:javascript
复制
SmartTable.propTypes = {
  name: PropTypes.string.isRequired,
  cols: PropTypes.instanceOf(Array),
  rows: PropTypes.instanceOf(Array),
};

对于对象和数组,它可以是:

代码语言:javascript
复制
SmartTable.propTypes = {
  name: PropTypes.string.isRequired,
  cols: PropTypes.instanceOf(Object),
  rows: PropTypes.instanceOf(Array),
};
票数 17
EN

Stack Overflow用户

发布于 2019-01-14 18:30:22

如果cols和rows的数组是对象,我喜欢使用shape,所以它可能是这样的。

代码语言:javascript
复制
    SmartTable.propTypes = {
      name: PropTypes.string.isRequired,
      cols: PropTypes.arrayOf(PropTypes.shape({
        id: PropTypes.string.isRequired,
        value: PropTypes.string,
       })
      rows: PropTypes.arrayOf(PropTypes.shape({
        id: PropTypes.string.isRequired,
        value: PropTypes.string,
       })
};
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41771217

复制
相关文章

相似问题

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