【发布时间】:2015-09-18 22:15:12
【问题描述】:
有没有办法使用React.PropTypes 对单个道具进行多次验证。特别想混合自定义验证和库存验证。
我有两个道具,一个对象options,和一个字符串value。我想检查 props.value 是一个字符串,但也是对象上的一个键。使用 coffeescript 这看起来像:
propTypes:
options: React.PropTypes.Object.isRequired
value: (props, propName, componentName) ->
unless props[propName] of props.options
new Error('my custom message')
这很好用,但我也想确保我的值是字符串类型。我确信我可以在自定义函数中手动进行验证,但理想情况下,我只想使用React.PropTypes.string.isRequired。我试着把它放在自定义函数中并执行它,但没有奏效。以下也不起作用:
value: React.PropTypes.string.isRequired && (props, propName, componentName) ->
unless props[propName] of props.options
new Error('my custom message')
有没有办法使用内置的验证器来实现这个工作,或者在我的函数中重写它是唯一的选择吗?
【问题讨论】:
标签: javascript reactjs coffeescript react-proptypes