參考來自hangge :鏈接
prop-types簡介
之前可以直接使用 React.PropTypes 進行屬性類型檢查梨撞,不過自 React v15.5 后就被移除了估灿,所以現(xiàn)在使用prop-types庫代替。使用屬性類型檢查后敬察,類型錯誤時种玛,發(fā)手機會彈出相關的警告信息
RN為了代碼的高效運行,屬性確認僅在開發(fā)環(huán)境中有效,正式發(fā)布的 App 運行時不會進行檢查
prop-types安裝與使用
yarn add prop-types
import PropTypes from 'prop-types';
prop-types語法
屬性是指定js類型
- PropTypes.array
- PropTypes.bool
- PropTypes.func
- PropTypes.number
- PropTypes.object
- PropTypes.string
屬性是可渲染節(jié)點
- PropTypes.node
屬性是某個React元素
- PropTypes.element
屬性是某個指定類的實例
- PropTypes.instanceOf(NameOfAClass)
屬性取值為特定的幾個值
- PropTypes.oneOf(['value1', 'value2'])
屬性為指定類型中的任意一個
- PropTypes.oneOfType([PropTypes.bool,PropTypes.number,])
屬性為指定類型的數(shù)組
- PropTypes.arrayOf(PropTypes.number)
屬性是一個有特定成員變量的對象
- PropTypes.objectOf(PropTypes.number)
屬性是一個指定構成方式的對象
- PropTypes.shape({color: PropTypes.string,fontSize: PropTypes.number,})
屬性可以是任意類型
- PropTypes.any
將屬性聲明為必需的
上述語法鳍置,都可以通過在后面加上 isRequired 聲明它是必需的。
PropTypes.array.isRequired