Reactjs 如果提供道具,则需要道具类型形状

Reactjs 如果提供道具,则需要道具类型形状,reactjs,react-proptypes,Reactjs,React Proptypes,我正在尝试使用PropTypes进行复杂的验证,但我并没有太多的运气弄明白这一点 当前类型: Map.propTypes={ 位置:PropTypes.arrayOf( PropTypes.shape({ 纬度:PropTypes.oneOfType([PropTypes.number,PropTypes.string]) .要求, 经度:PropTypes.oneOfType([PropTypes.number,PropTypes.string]) .需要 }) ) } 发生了什么: 如果未

我正在尝试使用PropTypes进行复杂的验证,但我并没有太多的运气弄明白这一点

当前类型:

Map.propTypes={
位置:PropTypes.arrayOf(
PropTypes.shape({
纬度:PropTypes.oneOfType([PropTypes.number,PropTypes.string])
.要求,
经度:PropTypes.oneOfType([PropTypes.number,PropTypes.string])
.需要
})
)
}
发生了什么: 如果未提供
位置
道具,则纬度和经度仍按要求标记。我想这是意料之中的

我想要的是: 我想它,如果纬度和经度是必需的,只有当位置道具提供

我已经尝试过为locations prop做一个自定义函数,但是因为它有复杂的验证(
arrayOf
shape
oneOfType
),我不想自己重新实现这些方法