我正在尝试验证传递给组件的对象数组。如果它收到渲染函数,则不需要onPress
,但onPress最初被声明为onPress.func.isRequired
。如果render
通过且onPress
缺失,我不想要无效道具警告。这就是我所拥有的,它似乎有效,但我对自己的方法并不自信。
SideDrawer.propTypes = {
drawerConfig: arrayOf(shape({
isLink: bool,
onPress: (propValue) => {
if (!propValue.onPress && !propValue.render) {
return new Error('on press is not defined');
}
return true;
},
render: func,
displayText: string,
iconName: string,
})),
};