Я бы посоветовал не проверять форматирование с PropTypes
, поскольку оно в первую очередь предназначено для проверки типов реквизитов.
Поскольку PropTypes
полезен тольково время выполнения (т. е. он не будет генерировать предупреждения во время компиляции), вместо этого вы могли бы сделать что-то вроде:
if (!/\d{4}\/\d{2}\/\d{2}/.test(this.props.date) && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')) {
console.warn('Warning: Invalid format for date prop');
}
Вы можете поместить это в свой конструктор, например.
При этом вы все равно можете использовать PropTypes
, если действительно хотите, передавая пользовательскую функцию.Я собирался написать решение, но 0xc14m1z опередил меня:)
Вот мой предыдущий ответ, который может оказаться полезным: https://stackoverflow.com/a/40302064/2030321