# 組件默認值和數據類型驗證
Vue組件中我們知道,父組件向子組件傳遞值時,是可以傳遞參數,如果不傳遞值時還可以給它指定默認值,并且傳值時必須傳指定類型的值。
# 給組件設置默認屬性:
注意:defaultProps是一個靜態屬性前面 要加static
> 在組件創建之前,會先初始化默認的props屬性,這是全局調用一次,嚴格地來說,這不是組件的生命周期的一部分。在組件被創建并加載候,首先調用 constructor 構造器中的 this.state = {},來初始化組件的狀態。
```javascript
//指定默認數據
static defaultProps ={
num:0
}
```
# 類型校驗
[官方文檔:]([https://react.docschina.org/docs/typechecking-with-proptypes.html](https://react.docschina.org/docs/typechecking-with-proptypes.html)
>注意:
自 React v15.5 起,`React.PropTypes`已移入另一個包中。請使用[`prop-types`庫(https://www.npmjs.com/package/prop-types)代替。
我們提供了一個[codemod 腳本](https://react.docschina.org/blog/2017/04/07/react-v15.5.0.html#migrating-from-reactproptypes)來做自動轉換。
需要先安裝`yarn add prop-types --save`
也是靜態屬性前面要加static ReactTypes這個名字是為了能區分.
> 校驗的目的是為了多人開發,如果傳遞數據出錯會有提示,就請轉換成期望的數據.
```javascript
//指定校驗
import ReactTypes from 'prop-types'
static propTypes={
num:ReactTypes.number
}
```
# 總結
設置默認值和類型校驗和Vue中的目的是一樣的。都是為了更好的多人開發。
- webpack復習
- React基礎
- 前端三大主流框架對比
- React中幾個核心的概念
- React基礎語法
- React JSX語法
- React組件
- 普通組件
- 組件通信-父向子傳遞
- 組件拆成單個文件
- 面向對象復習
- Class組件基礎
- Class組件的私有狀態(私有數據)
- 案例:實現評論列表組件
- 組件樣式管理
- 組件樣式分離-樣式表
- CSS模塊化
- 生命周期
- React組件生命周期
- Counter組件來學習組件生命周期
- 生命周期總結
- 生命周期案例
- React評論列表
- React雙向數據綁定
- React版todolist
- 其它提高(了解)
- 組件默認值和數據類型驗證
- 綁定this并傳參的三種方式
- 祖孫級和非父子組件傳遞數據(了解)
- React路由
- 路由基礎
- 動態路由
- 路由嚴格模式
- 路由導航定位
- 路由重定向
- 路由懶加載
- WolfMovie項目
- 項目初始化
- AntDesign使用
- 其它相關了解