我有一个组件,它的大小接收道具。道具可以是字符串或数字ex:"LARGE"
或17
。
我可以让React.PropTypes知道这可以是propTypes验证中的一个或另一个吗?
如果我没有指定类型,我会收到警告:prop type `size` is invalid; it must be a function, usually from React.PropTypes.
MyComponent.propTypes = {
size: React.PropTypes
}
size: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number
]),
出于文档目的,最好列出合法的字符串值:
size: PropTypes.oneOfType([
PropTypes.number,
PropTypes.oneOf([ 'SMALL', 'LARGE' ]),
]),
这可能对你有用:
height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
import React from 'react'; <--as normal
import PropTypes from 'prop-types'; <--add this as a second line
App.propTypes = {
monkey: PropTypes.string, <--omit "React."
cat: PropTypes.number.isRequired <--omit "React."
};
Wrong: React.PropTypes.string
Right: PropTypes.string