PropTypes@0.2.0
这是 PropTypes@0.2.0 的备份。因为我有些库用的是 0.2.0
Extracted from React.PropTypes
. To use without a dependency on React
.
Install
npm install --save prop-types
PropTypes.validate
API: Example
Pass a PropType schema, a props object, and a descriptive name for warnings. In React the descriptive name would be the displayName
of a component.
; var schema = ham: PropTypesstringisRequired; PropTypes;
PropTypes.validateWithErrors
API: Similar to PropTypes.validate
but will throw errors instead of logging warnings to the console.
PropTypes
API: // You can declare that a prop is a specific JS primitive. By default, these // are all optional. optionalArray: PropTypesarray optionalBool: PropTypesbool optionalFunc: PropTypesfunc optionalNumber: PropTypesnumber optionalObject: PropTypesobject optionalString: PropTypesstring // You can also declare that a prop is an instance of a class. This uses // JS's instanceof operator. optionalMessage: PropTypes // You can ensure that your prop is limited to specific values by treating // it as an enum. optionalEnum: PropTypes // An object that could be one of many types optionalUnion: PropTypes // An array of a certain type optionalArrayOf: PropTypes // An object with property values of a certain type optionalObjectOf: PropTypes // An object taking on a particular shape optionalObjectWithShape: PropTypesshape color: PropTypesstring fontSize: PropTypesnumber // You can chain any of the above with `isRequired` to make sure a warning // is shown if the prop isn't provided. requiredFunc: PropTypesfuncisRequired // A value of any data type requiredAny: PropTypesanyisRequired // You can also specify a custom validator. It should return an Error // object if the validation fails. Don't `console.warn` or throw, as this // won't work inside `oneOfType`. { if !/matchme/ return 'Validation failed!'; }
Caveat
This is not an exact drop-in, validations related to React have been stripped out. PropTypes.element
and PropTypes.node
are not included.