react的型別檢查(PropTypes)

2021-08-17 07:59:46 字數 1385 閱讀 9142

型別檢查時為了避免像元件中傳入不必要的資料型別,從而導致一些不必要的bug。下面是學習proptypes的時候的一些筆記

宣告為js型別

optionalarray: proptypes.array,//陣列

optionalbool: proptypes.bool,//布林

optionalfunc: proptypes.func,//function

optionalnumber: proptypes.number,//數字

optionalobject: proptypes.object,

optionalstring: proptypes.string,

optionalsymbol: proptypes.symbol,

可以宣告為任何可以被render的型別
optionalelement: proptypes.element,
宣告為某個類的例項
optionalmessage: proptypes.instanceof(message),
使用列舉限定
optionalenum: proptypes.oneof(['news', 'photos'])
使用object限定為多種型別
optionalunion: proptypes.oneoftype([

proptypes.string,

proptypes.number,

proptypes.instanceof(message)

]),

某個特定的陣列型別
optionalarrayof: proptypes.arrayof(proptypes.number),
某個特定的object型別
optionalobjectof: proptypes.objectof(proptypes.number)
可以使用isrequired來實現上面的所有校驗
requiredfunc: proptypes.func.isrequired,
使用function

可以使用乙個function來自定義乙個校驗器   它應該返回乙個error的object型別的錯誤當校驗失敗的時候  如下:

customprop: function(props, propname, componentname) 

},

設定預設的props值使用  元件.defaultprops = {}  的語法來  例如下面:
class greeting extends react.component 

}greeting.defaultprops = ;

react 型別檢查prop types

1,注意 react.proptypes 自 react v15.5 起已棄用。請使用 prop types 庫代替。import proptypes from prop types class greeting extends react.component greeting.proptypes ...

react總結之元件間傳值的型別檢查和預設值

在實際開發中,往往伴隨著團隊的協作,這個時候如果需要乙個人去開發乙個公共的元件,那麼我希望在我使用公共元件的時候,只需要經過簡單的溝通,甚至不溝通,就可以知道,我在使用元件的時候,應該傳遞什麼型別的值,是否一定要傳值,這個時候可以使用外掛程式proptypes,這個外掛程式可以幫我們做型別檢查,使得...

Protobuf 中的型別檢查

在使用protobuffer時,如果定義乙個訊息如下 enum my enum enum type1 1,enum type2 2 message my msg required my enum test enum 1 那麼,在protoc生成的 中,在賦值時 set test enum const...