当前位置 : 主页 > 网页制作 > React >

properties – 确保数组属性的每个元素符合React中的自定义形状

来源:互联网 收集:自由互联 发布时间:2021-06-15
我想确保数组属性的每个元素都符合特定的形状. 这与React proptype array with shape中回答的问题不同.他们测试了每个元素是否与给定的预定义React proptype验证器匹配,在这种情况下是React.pr
我想确保数组属性的每个元素都符合特定的形状.

这与React proptype array with shape中回答的问题不同.他们测试了每个元素是否与给定的预定义React proptype验证器匹配,在这种情况下是React.propTypes.number.我有兴趣测试自定义对象形状.

例如:

class MyClass extends React.Component {
  constructor(props) {
    super(props);
  }

  static propTypes = {
    data: React.PropTypes.arrayOf({
      name: React.PropTypes.string,
      year: React.PropTypes.number,
    })
  }
}

这会触发警告:propType失败:typeChecker不是函数检查render方法

你很接近,但你需要指定数组是什么类型的proptype,而React.PropTypes.shape让你指定一个带有键及其类型的对象.

static propTypes = {
  data: React.PropTypes.arrayOf(
    React.PropTypes.shape({
      name: React.PropTypes.string,
      year: React.PropTypes.number,
    })
  )
}

提示:从’react’导入React,{PropTypes},这样你就可以使用PropTypes了.

网友评论