Пишу про разработку вообще и в частности про: JavaScript, HTML5, CSS3, AngularJS, ReactJS, Agile, Bitcoins

Делаем prop для проверки moment в React

Несколько специфическая тема, однако стоит взять на заметку, если пишите под React. Как известно в реакте вы можете определять типы данных, которые ожидает получить компонент. Обычно вы будете это делать с использованием prop-types, однако, если вам нужно что-то специфичное, то придется писать проверку самому.

Например, тип данных moment. Можно, конечно в общем виде написать, что ожидается объект, но мы ведь хотим все сделать красиво, поэтому нужно написать проверку.

Итак, propType это функция, которая должна бросить ошибку, если тип данных не совпадает, в противном случае она может ничего не возвращать (ну либо undefined, что по сути то же самое). Все достаточно прозаично:

Использовать так propType можно как обычно:

Однако, мы не можем сделать его обязательным, так как привыкли в стандартных propTypes. Для этого нужно добавить метод isRequired. Ну и что бы два раза не вставать давайте решим задачу в общем виде и напишем обертку для всех последующих propTypes:

В итоге isMoment будет выглядеть вот так:

Поделиться:
comments powered by Disqus