#reactjs #react-proptypes
#reactjs #react-proptypes
Вопрос:
Я пытаюсь выполнить сложную проверку с использованием 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
prop не предоставляется, широта и долгота по-прежнему помечаются как требуемые. Я думаю, этого следовало ожидать.
Чего бы я хотел:
Мне бы хотелось, чтобы широта и долгота требовались только в том случае, если была указана locations prop.
Я пытался выполнить пользовательскую функцию для locations prop, но поскольку у нее сложная проверка ( arrayOf
, shape
и oneOfType
), я не хотел переопределять эти методы самостоятельно.