reactjs - 如果提供了道具,则需要 PropTypes 形状
问题描述
我正在尝试使用 PropTypes 进行复杂的验证,但我运气不好。
当前的道具类型:
Map.propTypes = {
locations: PropTypes.arrayOf(
PropTypes.shape({
latitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
.isRequired,
longitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
.isRequired
})
)
}
发生了什么:
如果没有locations
提供任何道具,纬度和经度仍然按要求标记。我想这是可以预料的。
我想要什么:
如果仅在提供位置道具时才需要纬度和经度,我希望它。
我已经尝试为位置道具做一个自定义函数,但由于它有复杂的验证(arrayOf
和shape
)oneOfType
我不想自己重新实现这些方法。
解决方案
推荐阅读
- r - 字符匹配时如何获取id
- python - 无法将 TensorFlow (Keras) 模型转换为 ONNX
- jenkins - Jenkins - 用自定义标签替换构建标签
- javascript - 请澄清如何使用Framework7 ajax(触发服务器端处理)
- c# - OleDb 更新数据库.mdb
- excel - Excel:如何计算跨列的移动?
- java - 在 Java 中完成任务时线程正在增加但不减少
- c# - Monogame 使班级中的物体独立移动
- c# - System.ArgumentException:'没有要添加的标题(参数'header')'
- php - 从一个巨大的多维数组中取出某些键