React中的類型檢測prop-types的基本使用


使用背景: ①當需要接收的數據是number型數據,而父組件卻傳遞了“1”

      ②忘記傳遞數據  <CommentItem  message={}  />

當父子組件間通過props傳遞數據時,通過對組件數據進行類型檢測,有效監控數據 —— 當數據傳遞類型出錯或者傳遞空數據可以迅速找到出錯的准確位置,更省時方便。

-----------------------------------------------------------------------------------------------------------------------------

步驟1. 通過下載第三方庫 npm install  --save prop-types

步驟2. 在子組件中導入,並使用:

         導入: import  PropTypes  from  'prop-types'  

         使用: 與 render(){} 同級,

                     static  propTypes = {

                           屬性:  PropTypes . 類型 (. isRequired )
                     }
舉個栗子:要接收的 handleAdd屬性 是函數型
                  handleAdd:  PropTypes.func    (若該屬性數據是必須傳遞的-->  handleAdd:  PropTypes.func.isRequired)
-----------------------------------------------------------------------------------------------------------------------------
檢測類型:
字符串    PropTypes.string
數字       PropTypes.number
布爾       PropTypes.bool
對象       PropTypes.object
數組       PropTypes.array
函數       PropTypes.func
-----------------------------------------------------------------------------------------------------------------------------
這里,我們在子組件中設置 handleAdd 屬性的類型為func,且必填。

一、如果給handleAdd屬性傳遞的的是Number類型 123 ,  則會報錯:

 

錯誤提示中清楚地指出:./src/App.js文件中的27行的 handleAdd屬性 期望得到的是函數類型,卻得到了Number類型。

 

二、如果未傳遞有效數據,則會報錯:

錯誤提示中清楚地指出:./src/App.js文件中的27行的 handleAdd不可為空,是必填的

 


免責聲明!

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



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