请问这段代码的作用是什么呢, PropTypes.arrayOf /PropTypes.shape/PropTypes.oneOf

#1

这段传参数的代码实在看不明白,请问是要做什么呢, PropTypes.arrayOf /PropTypes.shape/PropTypes.oneOf ,这几个作用是什么呢

App.propTypes = {
  visibleTodos: PropTypes.arrayOf(PropTypes.shape({
    text: PropTypes.string.isRequired,
    completed: PropTypes.bool.isRequired
  }).isRequired).isRequired,
  visibilityFilter: PropTypes.oneOf([
    'SHOW_ALL',
    'SHOW_COMPLETED',
    'SHOW_ACTIVE'
  ]).isRequired
}
#2

PropTypes存在在prop-types包中,在react 15.4 被从react包中移到一个独立到包中,它的作用是在react开发阶段提供对传入组件的属性进行类型验证,具体可以看下其github,以及官网上的介绍typechecking-with-proptypes

1 Like
#3

http://www.css88.com/react/docs/typechecking-with-proptypes.html