Якщо вам React.PropTypes.shape
не надається потрібний рівень перевірки типу, погляньте на реакцію tcomb .
Він надає toPropTypes()
функцію, яка дозволяє перевірити схему, визначену з бібліотекою tcomb , використовуючи підтримку React для визначення користувальницьких propTypes
валідаторів , запускаючи перевірки за допомогою tcomb-валідації .
Основний приклад з його документів :
// define the component props
var MyProps = struct({
foo: Num,
bar: subtype(Str, function (s) { return s.length <= 3; }, 'Bar')
});
// a simple component
var MyComponent = React.createClass({
propTypes: toPropTypes(MyProps), // <--- !
render: function () {
return (
<div>
<div>Foo is: {this.props.foo}</div>
<div>Bar is: {this.props.bar}</div>
</div>
);
}
});