1:父組件傳遞的方式javascript
在子組件中能夠用this.props訪問到父組件傳遞的值java
<View> <Text> {this.props.name} </Text> </View>
父組件定義傳遞的值 node
<MyComponent name='小明'/>
2:子組件定義默認props(父組件未傳值的狀況使用)react
static defaultProps = { name: '小紅' }
爲了其餘組件傳遞值得時候,保持類型的準確,須要進行類型檢查。npm
首先導入PropTypes數組
import propTypes from 'prop-types'
注意:propTypes已經從react中移除,須要單獨導入。npm install prop-types下載依賴包。propTypes開頭的p不須要大寫。ui
而後定義類型檢查this
static propTypes = { name: propTypes.number, }
1:屬性是指定的 JavaScript 基本類型:對象
屬性: PropTypes.array, 屬性: PropTypes.bool, 屬性: PropTypes.func, 屬性: PropTypes.number, 屬性: PropTypes.object, 屬性: PropTypes.string,
2:要求屬性是可渲染節點blog
屬性: PropTypes.node,
3:要求屬性是某個 React 元素
屬性: PropTypes.element
4:要求屬性是某個指定類的實例
屬性: PropTypes.instanceOf(NameOfAClass),
5:要求屬性取值爲特定的幾個值
屬性: PropTypes.oneOf(['value1', 'value2'])
6:要求屬性能夠爲指定類型中的任意一個
屬性: PropTypes.oneOfType([ PropTypes.bool, PropTypes.number, PropTypes.instanceOf(NameOfAClass), ])
7:要求屬性爲指定類型的數組
屬性: PropTypes.arrayOf(PropTypes.number)
8:要求屬性是一個有特定成員變量的對象
屬性: PropTypes.objectOf(PropTypes.number)
9:要求屬性是一個指定構成方式的對象
屬性: PropTypes.shape({ color: PropTypes.string, fontSize: PropTypes.number, }),
10:屬性能夠是任意類型
屬性: PropTypes.any
11:上面描述的 10 種語法,均可以經過在後面加上 isRequired 聲明它是必需的。
屬性: PropTypes.array.isRequired, 屬性: PropTypes.any.isRequired, 屬性: PropTypes.instanceOf(NameOfAClass).isRequired,
1:延展操做符
若是父組件須要傳遞多個參數,而這些參數都存在一個對象裏,咱們能夠使用延展操做符的方式傳值。
render() { let params = { name : '小紅', age: 11 } return ( <View> <MyComponent {...params}/> </View> ); }
2:解構賦值
當咱們只須要取對象中部分屬性傳遞
render() { let params = { name : '小紅', age: 12, sex: '男' } let {name, age} = params return ( <View> <MyComponent name={name} age={age}/> </View> ); }