以下是我得到的当前错误:
这是我当前的PropTypes代码,我需要检查进入的Array中的对象是否具有以下属性(id和name)。
React.PropTypes.arrayOf(
React.PropTypes.shape({
id: React.PropTypes.string.isRequired,
name: React.PropTypes.string.isRequired
})
).isRequired
在这里阅读https://github.com/tomchentw/react-google-maps/issues/463显然不推荐使用React.PropTypes。
但是,如何使用这个逻辑检查通过Props进入的Array中的Object内部类型:
AssetsTable.propTypes = {
asset: PropTypes.object.isRequired,
price_usd: PropTypes.string.isRequired
};
答案 0 :(得分:1)
Prop-types支持形状,就像React.PropTypes
来自React Docs:
// An object taking on a particular shape
optionalObjectWithShape: PropTypes.shape({
color: PropTypes.string,
fontSize: PropTypes.number
}),
答案 1 :(得分:1)
使用React.PropTypes
时,首先需要安装prop-types
软件包(通过npm或您最喜欢的软件包管理器)。然后使用import PropTypes from 'prop-types';
导入它,然后像PropTypes
一样使用React.PropTypes
。
答案 2 :(得分:0)
使用与{React}相同的prop-types库。 e.g。
import PropTypes from 'prop-type';
class MyComponent extends React.Component {
static propTypes = {
someValue: PropTypes.number
}
}