React中的PropTypes詳解


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!');
  }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM