標籤:
propTypes用來規範props必須滿足的類型,如果驗證不通過將會有warn提示。
React PropTypes的種類有:
React.PropTypes.array // 隊列React.PropTypes.bool.isRequired // Boolean 且必須React.PropTypes.func // 函數React.PropTypes.number // 數字React.PropTypes.object // 對象React.PropTypes.string // 字串React.PropTypes.node // 任何類型的: numbers, strings, elements 或者數組React.PropTypes.element // React 元素React.PropTypes.instanceOf(XXX) // 某種XXX類型的對象React.PropTypes.oneOf([‘foo‘, ‘bar‘]) // 其中的一個字串React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.array]) // 其中的一種類型React.PropTypes.arrayOf(React.PropTypes.string) // 某種類型的數組(字串)React.PropTypes.objectOf(React.PropTypes.string) // 元素是字串的對象React.PropTypes.shape({ // 是否符合指定格式的對象 color: React.PropTypes.string, fontSize: React.PropTypes.number});React.PropTypes.any.isRequired // 可以是任何格式,且必要。// 自訂格式,不符合的時候放回Error// 不要用`console.warn` 或者 throw, 因為它在`oneOfType` 的情況下無效customPropType: function(props, propName, componentName) { if (!/^[0-9]/.test(props[propName])) { return new Error(‘Validation failed!‘); }}
React中的PropTypes詳解