Raect Native之五 props的使用
阿新 • • 發佈:2018-12-18
-
什麼是props?
大多陣列件在建立時就可以使用各種引數來進行定製。用於定製的這些引數就稱為props -
如何使用props?
export default class PropsView extends Component { render() { var params = {name:'zhangsan', age:19,sex:'女'} var {name,sex} = params; return <View> {/* <PropsUse {...params}/> */} <PropsUse name={name} sex={sex}/> </View> } }
export default class PropsUse extends Component{ static defaultProps={ name:'小紅', age:10, sex:'男', } static propTypes={ name:PropTypes.string, age:PropTypes.int, sex:PropTypes.string.isRequired, } render(){ return <View> <Text style={{fontSize:26}}>你好, { this.props.name} </Text> <Text style={{fontSize:26}}>年齡: { this.props.age}</Text> <Text style={{fontSize:26}}>性別: { this.props.sex}</Text> </View> } }
-
什麼是預設屬性以及它的作用?
static defaultProps 設定預設屬性,當前一個介面沒有資料傳過來時,
使用預設賦值static defaultProps={ name:'小紅', age:10, sex:'男', } ```
-
如何對props進行約束和檢查?
PropTypes 進行約束和檢查
name:PropTypes.string 資料型別進行約束
sex:PropTypes.string.isRequired isRequired非null檢查import PropTypes from 'prop-types'; static propTypes={ name:PropTypes.string, age:PropTypes.int, sex:PropTypes.string.isRequired, }
-
props的使用技巧
- 擴充套件運算子{…}
var params={name:'zhangsan', age:19,sex:'女'} {...params}
- 結構賦值
var params = {name:'zhangsan', age:19,sex:'女'} var {name,sex} = params; return <View> <PropsUse name={name} sex={sex}/> </View>