React propTypes混合函数与需求

时间:2016-05-07 18:43:48

标签: reactjs properties react-proptypes

所以我在propTypes设置了一个函数。但是,我还想指定传递给该prop的值必须是字符串。

电流:

propTypes: {
  user: function(props, propName, componentName) {
    if (props.user != undefined) console.log('Error');
  },
  x: React.propTypes.nonNegative
}

还想包括:

propTypes:{
  user: React.PropTypes.string
}

有没有办法在仍然使用函数时要求user道具的值为字符串?

1 个答案:

答案 0 :(得分:1)

所以只需使用typeof测试其类型:

propTypes: {
  user: function(props, propName, componentName) {
    if (typeof props != 'string') {
      return new Error(
          'Invalid prop `' + propName + '` supplied to' +
          ' `' + componentName + '`. It must be a string.'
        );
    }
  }
}