React PropTypes не требуется показывать
У меня есть эти PropTypes Настройки:
Select.propTypes = {
onSelect: PropTypes.func.isRequired,
data: PropTypes.arrayOf(PropTypes.shape({
key: PropTypes.string.isRequired,
value: PropTypes.string.isRequired
}).isRequired).isRequired
}
onSelect и data оба будут показывать ошибки, если они не определены. Однако форма объекта в массиве данных, не является валидирующей. Я могу использовать data={[]}, и это не ошибка.
Есть ли что-то, что я упускаю здесь? Спасибо
1 ответ:
Я думаю, что это ожидалось. Когда prop является обязательным массивом, вы можете передать либо пустой массив, либо массив с элементами данного типа. Не только для фигуры, даже для
PropTypes.arrayOf(PropTypes.number).isRequiredон будет считать и[], и[9]допустимыми, но не["9"]. Это не вносит изменений, даже если вы используетеPropTypes.arrayOf(PropTypes.number.isRequired).isRequired.В принципе, вы не можете указать минимальное количество элементов, которые должны быть в массиве, или ограничить назначение пустого массива типами prop.
Comments