React 資料型別的檢測PropTypes

2021-10-10 19:09:57 字數 1305 閱讀 4609

一、資料檢測的基本型別

obj.proptypes =
二、通過oneoftype實現多選擇檢測-可規定多個檢測通過的資料型別

proptypes裡的oneoftype方法可以做到這一點,oneoftype方法接收引數的是乙個陣列,陣列元素是你希望檢測通過的資料型別。

son.proptypes = 

三、通過oneof實現多選擇檢測-可規定多個檢測通過的變數的值

和proptypes方法一樣oneof方法接收引數的是乙個陣列,陣列元素是你希望檢測通過的變數的值

son.proptypes = 

// 報錯

// 報錯

// 正確

四、通過 arrayof,objectof 實現多重巢狀檢測

arrayof接收乙個引數,這個引數是規定的陣列元素的資料型別.

objectof接收的引數則是屬性的資料型別

son.proptypes = 

五、通過形狀方法檢測目標物件不同屬性的不同資料型別

當它內部的屬性的資料型別有多種不同型別的屬性了,那麼就應該使用形狀方法

son.proptypes = )

}

六、通過isrequired檢測道具中某個必要的屬性
son.proptypes = 

// 報錯

// 正確

但如果你不想控制數的型別而僅僅是想控制它的必要性,可以寫成這樣

name:proptypes.any.isrequired

七、複雜的型別檢測 - 將proptypes的屬性值寫成函式

son.proptypes = 

}}

在屬性prop的型別檢測中,屬性值是乙個函式,在這裡props是包含prop的props物件,propname是prop的屬性名,componentname是props所在的元件名稱,函式的返回值是乙個error物件

son.proptypes = 

}}

八、注意事項

五種基本型別中的不確定和空並不在此列,proptypes型別檢測的缺憾之一是,對於不確定的和無效的值,它無法捕捉錯誤.也就是說,如果傳的值是null,那麼是不會報錯的

雖然報錯但是這並不會影響程式的正常執行(譬如上面我們看到渲染仍然是正常的),因為本質上說型別檢測報的是非致命性錯誤的警告而不是致命性錯誤的錯誤(區別在於是否影響了正常執行)

檢測資料型別

js中檢測資料型別只有四種方式 1 typeof 用來檢測資料型別的運算子 typeof value 1 返回值 首先是乙個字串,然後包含了我們常用的資料型別,例 如 number string boolean undefined object function typeof typeof type...

檢測資料型別的方式

typeof 用來檢測資料型別的運算子 首先返回的是乙個字串,其次字串中包含了對應的資料型別 number string boolean undefined function object typeof 值 值對應的資料型別 typeif 變數名 string 多次typeof後返回 string ...

js檢測資料型別

要檢測乙個變數是不是基本資料型別?typeof 操作符是最佳的工具。說得更具體一 點,typeof 操作符是確定乙個變數是字串 數值 布林值,還是undefined 的最佳工具。如果變 量的值是乙個物件或null,則typeof 操作符會像下面例子中所示的那樣返回 object var s nich...