Рассмотрите возможность использования объекта карты ключа и значения, как показано ниже:
export const PlaceholderVisibility = {
Always: undefined,
Never: null,
OnFocus: true,
OnBlur: false
}
Как бы вы использовали PropTypes
, чтобы разрешить только значения, указанные в существующем объекте?
Вот что я попробовал:
import PropTypes from 'prop-types';
export const myTypes = {
// ...
visibility: PropTypes.oneOf(PlaceholderVisibility)
}
Но в настоящее время я использую PropTypes.bool
, так как это, кажется, работает в этой ситуации, но, тем не менее, это не будет работать, когда, например, одно из значений имеет тип string.