這篇文章將為大家詳細講解有關React-Native中props怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
props就是屬性,是為了描述一個組件的特征而存在的。它是父組件傳遞給子組件的。
使用props
通過上一個頁面傳遞
新建一個 PropsTest.js 文件
exprot default class PropsTestextendesComponent{
render(){
return <Text>{this.props.name}</Text>
}
}在上一個頁面中使用PropsTest組件
import PropsTest from './PropsTest' <PropsTest name = 'XiaoMing' />
注意: 上方代碼,均為代碼片段。
默認屬性,以及它的作用
由于props的屬性都是上個頁面傳遞的,所以無法修改它。但是我們可以在PropsTest文件中,給props定義一些默認的值。
exprot default class PropsTestextends Component{
static defaultProps={
name: 'XiaoHong'
}
render(){
return <Text>{this.props.name}</Text>
}
}注意,defaultProps 需要使用static關鍵字來做靜態修飾。這樣,如果上個頁面沒有傳值,則顯示的是這個默認的屬性。
對props進行約束和檢查
exprot default class PropsTestextends Component{
static defaultProps={
name: 'XiaoHong'
}
static propTypes={
name: PropTypes.string,
age: PropTypes.number,
sex: PropTypes.string.isRequired
}
render(){
return <Text>{this.props.name}</Text>
}
}對props里面的屬性進行類型判斷,可以使用propTypes來做到,同樣需要使用static關鍵字來修飾。
isRequired 可以指定必填項
注意:
propTypes屬性 在 react 包中,需要先導入才能使用。
props延伸操作符
ES6的最新語法
假如我們的組件需要好多屬性,如下:
params = {name: 'XiaoZhang', age: 18, sex: '男'}
// 如果需要傳遞給下一個頁面需要:
<PropsTest
name = {params.name}
sex = {params.sex}
age = {params.age}
/>
// 等等,這樣如果屬性特別多,代碼將會變得難以維護。在ES6中可以使用最新的延伸操作符特性
<PropsTest
{...params}
/>非常的簡潔
props解構賦值
ES6的最新語法
通過延伸操作符傳遞的對象,在另一個組件中想要從中獲取某幾個來使用,可以用解構賦值的方式
var {name, age} = params;
// 其他地方就可以直接引用name和age了
{name}或{age}
// 這么做的好處,同樣是不需要使用如下的傳統方式
{params.name}或{params.age}關于“React-Native中props怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。