我使用数据对象作为ReactJS中组件的props .
<Field data={data} />
我知道验证PropTypes对象本身很容易:
propTypes: {
data: React.PropTypes.object
}
但是如果我想验证里面的值呢?数据.身份证,数据.标题
props[propName]: React.PropTypes.number.required // etc...
我使用数据对象作为ReactJS中组件的props .
<Field data={data} />
我知道验证PropTypes对象本身很容易:
propTypes: {
data: React.PropTypes.object
}
但是如果我想验证里面的值呢?数据.身份证,数据.标题
props[propName]: React.PropTypes.number.required // etc...
可以使用React.PropTypes.shape
来验证属性:
propTypes: {
data: React.PropTypes.shape({
id: React.PropTypes.number.isRequired,
title: React.PropTypes.string
})
}
Update
正如@Chris在 comments 中指出的那样,从React 15.5.0版开始,React.PropTypes
已经迁移到prop-types
包.
import PropTypes from 'prop-types';
propTypes: {
data: PropTypes.shape({
id: PropTypes.number.isRequired,
title: PropTypes.string
})
}